diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..5182c9ada --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.out +*.out_py3 +*.pyc +*.pyo diff --git a/README b/README index fb3591837..6cfc00bde 100644 --- a/README +++ b/README @@ -1,137 +1,177 @@ Online Python Tutor -Copyright (C) 2010 Philip J. Guo (philip@pgbovine.net) -https://github.com/pgbovine/OnlinePythonTutor/ -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. +http://pythontutor.com/ +https://github.com/pgbovine/OnlinePythonTutor/ -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see . +Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) -====== -Introduction: +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -The Online Python Tutor is a web application where you can type Python -scripts directly into your web browser, execute those scripts, and -single-step FORWARDS AND BACKWARDS through execution in order to view -the run-time state of all data structures. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -Using this tool, teachers and students can write small Python code -snippets together and see what happens to the data structures when the -code gets executed. - -Try it out live at: http://www.onlinepythontutor.com/ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ====== -System architecture overview: - -The Online Python Tutor is implemented as a web application, with a -JavaScript front-end making AJAX calls to a pure-Python back-end. - -The back-end has been tested on an Apache server running Python 2.5 -through CGI. Note that it will probably fail in subtle ways on other -Python 2.X (and will DEFINITELY fail on Python 3.X). Peter Wentworth -has create a port to Python 3.X, and hopefully we can eventually -integrate his code into my repository. - - -The front-end is HTML/JavaScript (using the jQuery library). It's -responsible for the input text box, submitting the Python code (as -plaintext) to the back-end, receiving an execution trace from the -back-end, and then rendering that trace as data structure -visualizations. The front-end code resides in these files in the -current directory: - - tutor.html - question.html - edu-python.js - edu-python-tutor.js - edu-python-questions.js - edu-python.css - jquery.textarea.js - .htaccess - to increase the size of allowed Apache HTTP responses - (there are also other 3rd-party JavaScript library files) +Summary: + + Online Python Tutor enables teachers and students to write Python + programs directly in the web browser, execute those programs, and then + step forwards and backwards through execution to view the run-time + state of data structures. -Note on .htaccess: If your server limits the size of responses received -from HTTP requests, then you might need to use the following .htaccess -file included in your top-level (front-end) directory, to allow the -Online Python Tutor to receive traces from the back-end: + So far, over 100,000 people have used Online Python Tutor to + understand and debug their programs, often as a supplement to + textbooks, lecture notes, and online programming tutorials. - +--- +All documentation is viewable online at: + https://github.com/pgbovine/OnlinePythonTutor/tree/master/v3/docs -# Set a ~2MB limit for response headers (bigger than default 512K limit) -SecResponseBodyLimit 2000000 +--- +Repository contents: - - - -The back-end is a server-side CGI application that takes Python script -source code as input, executes the entire script (up to 200 executed -lines, to prevent infinite loops), and collects a full trace of all -variable values (i.e., data structures) after each line has been -executed. It then sends that full trace to the front-end in a -specially-encoded JSON format. The front-end then parses and visualizes -that trace and allows the user to single-step forwards AND backwards -through execution. - -The back-end resides in the cgi-bin/ sub-directory in this repository: - - cgi-bin/web_exec.py - the CGI entrance point to the back-end - cgi-bin/web_run_test.py - the CGI entrance point to the question - grading back-end - cgi-bin/pg_logger.py - the 'meat' of the back-end - cgi-bin/pg_encoder.py - encodes Python data into JSON - cgi-bin/demjson.py - 3rd-party JSON module, since Python 2.5 - doesn't have the built-in 'import json' - cgi-bin/create_db.py - for optional sqlite query logging - cgi-bin/db_common.py - for optional sqlite query logging - cgi-bin/.htaccess - for Apache CGI execute permissions - - -Due to the AJAX same-origin policy, the front-end and back-end must be -deployed on the same server (unless you do some fancy proxy magic). - - -====== -Original founding vision (from January 2010): + tl;dr: the v3/ sub-directory contains the latest version of the code. -I want to create a web-based interactive learning platform for students -to explore programming. I envision an HTML UI where a student can enter -in code and then single-step through it and see how the data structures -change during execution. +v1-v2/ -Key insight: I realized that for the small programs that teachers and -students write for educational purposes, it's possible to simply LOG -everything that happens to data structures during execution. Then we -can simply play back that log in the front-end, which allows -single-stepping forwards and also BACKWARDS. + Online Python Tutor version 1 - released on January 19, 2010 + "Release" email to 15 friends: -After all, we don't need students to be able to interactive probe and -make changes in the middle of execution, which is the only value-added -of a REAL debugger. + Subject: version 0.0000001alpha of my online Python tutor + Body: + ''' + hi python fans (and non-fans) ... -What kinds of things do we want to log? + this is what i've been hacking on for the past few days instead of + doing my research ;) i'm planning to use it as a platform for + creating interactive online programming tutorials as part of a + volunteer project ... - On the execution of each line, log: - - the line number just executed - - all data created by the program + http://python.pgrind.com/ - Also log calls and returns of a student's function - (but NOT library functions) + it'd be great to get your feedback on what i have so far. i'd love + to hear suggestions or complaints. thanks in advance! -We can use the Python JSON module to encode data structures in JSON and -send it to the client's web browser + please don't share this link yet, mostly because my app is still + buggy and insecure (i definitely don't want random peoples from the + internet trying to hack it right now!) -The PDB debugger (Lib/pdb.py) is written in pure Python: - http://docs.python.org/library/pdb.html - - the bdb debugger framework is the C module that pdb calls - http://docs.python.org/library/bdb.html + pg + ''' + + + Online Python Tutor version 2 - released on October 4, 2011 + "Release" email to 13 friends: + + Subject: Re: version 0.0000001alpha of my online Python tutor + Body: + ''' + Dear subset of people who cared about my prior email from almost 2 + years ago ... + + I've recently kicked it up a notch with a "2.0" version and am about + to do a public release soon. I'd really appreciate any feedback, + criticism, and especially bug reports on Internet Explorer ;) + + http://people.csail.mit.edu/pgbovine/opt-prerelease/ + + Please don't share the link yet since it will be dead soon when I + move this app to its permanent home. I just want to get some early + feedback to eliminate the obviously embarrassing bugs before launch. + + THANKS! + + pg + ''' + + +v3/ + + Online Python Tutor version 3 - Released on September 18, 2012 + to 153,000+ people on Google+: + https://plus.google.com/+ResearchatGoogle/posts/cseo9qi7LWq + + "Release" announcement from the Research @ Google G+ account: + ''' + Online Python Tutor: Web-Based Program Visualization for CS Education + + As part of his CS education work at Google, +Philip Guo has been + developing an open-source educational tool called Online Python Tutor + (http://www.pythontutor.com). This tool enables teachers and students + to write Python programs directly in the web browser and then + single-step forwards and backwards to visualize what the computer is + doing as it executes those programs. + + Program visualization for CS education is nothing new -- researchers + have been developing these sorts of tools for decades. However, most + of these tools never reach far beyond the confines of the researchers' + home universities due to the difficulty of installing and configuring + the visualization software. What makes Online Python Tutor unique and + effective is that it's the first known tool to adapt time-tested ideas + from the research literature (e.g., rendering of box-and-pointer + diagrams) for a web-based environment. Now anyone with a modern + browser can create, explore, and share their program visualizations by + simply visiting a web URL. + + This ease of access has been a major contributor to adoption: So far, + over 100,000 people have used Online Python Tutor to understand and + debug their programs, often as a supplement to learning from + textbooks, lecture notes, and online programming tutorials. In + addition, instructors in over a dozen universities such as MIT, UC + Berkeley, and the University of Washington have used it for teaching + introductory computer science courses. + + But this is just the beginning. Philip and his colleagues are now + building an online authoring environment so that, within the next few + months, teachers and students will be able to save their code snippets + and add annotations, discussion threads, lessons, and interactive + exercises on top of the associated visualizations. + They are also actively seeking partnerships with educators at all + grade levels to deploy and improve Online Python Tutor. Please contact + Philip directly or re-share this post with educators who might be + interested in working with this tool in any capacity. + + Visit www.pythontutor.com to learn more and to start visualizing your + Python programs now! + ''' + +--- +Acknowledgments + +John DeNero - for helping with the official Python 3 port and lots of code patches +Chris Horne - https://github.com/lahwran - for security tips +Peter Wentworth and his students - for working on the original Python 3 fork + + +For advice and feedback from an instructor's perspective: + +John Dalbey +Michael Ernst +David Evans +Paul Gries +Adam Hartz +Tomas Lozano-Perez +Bertram Ludaescher +Brad Miller +Rob Miller +Peter Norvig +Andrew Petersen +David Pritchard +Suzanne Rivoire +David Wilkins diff --git a/cgi-bin/demjson.py b/cgi-bin/demjson.py deleted file mode 100644 index a513ee134..000000000 --- a/cgi-bin/demjson.py +++ /dev/null @@ -1,2138 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -r""" A JSON data encoder and decoder. - - This Python module implements the JSON (http://json.org/) data - encoding format; a subset of ECMAScript (aka JavaScript) for encoding - primitive data types (numbers, strings, booleans, lists, and - associative arrays) in a language-neutral simple text-based syntax. - - It can encode or decode between JSON formatted strings and native - Python data types. Normally you would use the encode() and decode() - functions defined by this module, but if you want more control over - the processing you can use the JSON class. - - This implementation tries to be as completely cormforming to all - intricacies of the standards as possible. It can operate in strict - mode (which only allows JSON-compliant syntax) or a non-strict mode - (which allows much more of the whole ECMAScript permitted syntax). - This includes complete support for Unicode strings (including - surrogate-pairs for non-BMP characters), and all number formats - including negative zero and IEEE 754 non-numbers such a NaN or - Infinity. - - The JSON/ECMAScript to Python type mappings are: - ---JSON--- ---Python--- - null None - undefined undefined (note 1) - Boolean (true,false) bool (True or False) - Integer int or long (note 2) - Float float - String str or unicode ( "..." or u"..." ) - Array [a, ...] list ( [...] ) - Object {a:b, ...} dict ( {...} ) - - -- Note 1. an 'undefined' object is declared in this module which - represents the native Python value for this type when in - non-strict mode. - - -- Note 2. some ECMAScript integers may be up-converted to Python - floats, such as 1e+40. Also integer -0 is converted to - float -0, so as to preserve the sign (which ECMAScript requires). - - In addition, when operating in non-strict mode, several IEEE 754 - non-numbers are also handled, and are mapped to specific Python - objects declared in this module: - - NaN (not a number) nan (float('nan')) - Infinity, +Infinity inf (float('inf')) - -Infinity neginf (float('-inf')) - - When encoding Python objects into JSON, you may use types other than - native lists or dictionaries, as long as they support the minimal - interfaces required of all sequences or mappings. This means you can - use generators and iterators, tuples, UserDict subclasses, etc. - - To make it easier to produce JSON encoded representations of user - defined classes, if the object has a method named json_equivalent(), - then it will call that method and attempt to encode the object - returned from it instead. It will do this recursively as needed and - before any attempt to encode the object using it's default - strategies. Note that any json_equivalent() method should return - "equivalent" Python objects to be encoded, not an already-encoded - JSON-formatted string. There is no such aid provided to decode - JSON back into user-defined classes as that would dramatically - complicate the interface. - - When decoding strings with this module it may operate in either - strict or non-strict mode. The strict mode only allows syntax which - is conforming to RFC 4627 (JSON), while the non-strict allows much - more of the permissible ECMAScript syntax. - - The following are permitted when processing in NON-STRICT mode: - - * Unicode format control characters are allowed anywhere in the input. - * All Unicode line terminator characters are recognized. - * All Unicode white space characters are recognized. - * The 'undefined' keyword is recognized. - * Hexadecimal number literals are recognized (e.g., 0xA6, 0177). - * String literals may use either single or double quote marks. - * Strings may contain \x (hexadecimal) escape sequences, as well as the - \v and \0 escape sequences. - * Lists may have omitted (elided) elements, e.g., [,,,,,], with - missing elements interpreted as 'undefined' values. - * Object properties (dictionary keys) can be of any of the - types: string literals, numbers, or identifiers (the later of - which are treated as if they are string literals)---as permitted - by ECMAScript. JSON only permits strings literals as keys. - - Concerning non-strict and non-ECMAScript allowances: - - * Octal numbers: If you allow the 'octal_numbers' behavior (which - is never enabled by default), then you can use octal integers - and octal character escape sequences (per the ECMAScript - standard Annex B.1.2). This behavior is allowed, if enabled, - because it was valid JavaScript at one time. - - * Multi-line string literals: Strings which are more than one - line long (contain embedded raw newline characters) are never - permitted. This is neither valid JSON nor ECMAScript. Some other - JSON implementations may allow this, but this module considers - that behavior to be a mistake. - - References: - * JSON (JavaScript Object Notation) - - * RFC 4627. The application/json Media Type for JavaScript Object Notation (JSON) - - * ECMA-262 3rd edition (1999) - - * IEEE 754-1985: Standard for Binary Floating-Point Arithmetic. - - -""" - -__author__ = "Deron Meranda " -__date__ = "2008-12-17" -__version__ = "1.4" -__credits__ = """Copyright (c) 2006-2008 Deron E. Meranda -Licensed under GNU LGPL 3.0 (GNU Lesser General Public License) or -later. See LICENSE.txt included with this software. - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as -published by the Free Software Foundation, either version 3 of the -License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with this program. If not, see -or . - -""" - -# ------------------------------ -# useful global constants - -content_type = 'application/json' -file_ext = 'json' -hexdigits = '0123456789ABCDEFabcdef' -octaldigits = '01234567' - -# ---------------------------------------------------------------------- -# Decimal and float types. -# -# If a JSON number can not be stored in a Python float without loosing -# precision and the Python has the decimal type, then we will try to -# use decimal instead of float. To make this determination we need to -# know the limits of the float type, but Python doesn't have an easy -# way to tell what the largest floating-point number it supports. So, -# we detemine the precision and scale of the float type by testing it. - -try: - # decimal module was introduced in Python 2.4 - import decimal -except ImportError: - decimal = None - -def determine_float_precision(): - """Returns a tuple (significant_digits, max_exponent) for the float type. - """ - import math - # Just count the digits in pi. The last two decimal digits - # may only be partial digits, so discount for them. - whole, frac = repr(math.pi).split('.') - sigdigits = len(whole) + len(frac) - 2 - - # This is a simple binary search. We find the largest exponent - # that the float() type can handle without going infinite or - # raising errors. - maxexp = None - minv = 0; maxv = 1000 - while True: - if minv+1 == maxv: - maxexp = minv - 1 - break - elif maxv < minv: - maxexp = None - break - m = (minv + maxv) // 2 - try: - f = repr(float( '1e+%d' % m )) - except ValueError: - f = None - else: - if not f or f[0] < '0' or f[0] > '9': - f = None - if not f: - # infinite - maxv = m - else: - minv = m - return sigdigits, maxexp - -float_sigdigits, float_maxexp = determine_float_precision() - -# ---------------------------------------------------------------------- -# The undefined value. -# -# ECMAScript has an undefined value (similar to yet distinct from null). -# Neither Python or strict JSON have support undefined, but to allow -# JavaScript behavior we must simulate it. - -class _undefined_class(object): - """Represents the ECMAScript 'undefined' value.""" - __slots__ = [] - def __repr__(self): - return self.__module__ + '.undefined' - def __str__(self): - return 'undefined' - def __nonzero__(self): - return False -undefined = _undefined_class() -del _undefined_class - - -# ---------------------------------------------------------------------- -# Non-Numbers: NaN, Infinity, -Infinity -# -# ECMAScript has official support for non-number floats, although -# strict JSON does not. Python doesn't either. So to support the -# full JavaScript behavior we must try to add them into Python, which -# is unfortunately a bit of black magic. If our python implementation -# happens to be built on top of IEEE 754 we can probably trick python -# into using real floats. Otherwise we must simulate it with classes. - -def _nonnumber_float_constants(): - """Try to return the Nan, Infinity, and -Infinity float values. - - This is unnecessarily complex because there is no standard - platform- independent way to do this in Python as the language - (opposed to some implementation of it) doesn't discuss - non-numbers. We try various strategies from the best to the - worst. - - If this Python interpreter uses the IEEE 754 floating point - standard then the returned values will probably be real instances - of the 'float' type. Otherwise a custom class object is returned - which will attempt to simulate the correct behavior as much as - possible. - - """ - try: - # First, try (mostly portable) float constructor. Works under - # Linux x86 (gcc) and some Unices. - nan = float('nan') - inf = float('inf') - neginf = float('-inf') - except ValueError: - try: - # Try the AIX (PowerPC) float constructors - nan = float('NaNQ') - inf = float('INF') - neginf = float('-INF') - except ValueError: - try: - # Next, try binary unpacking. Should work under - # platforms using IEEE 754 floating point. - import struct, sys - xnan = '7ff8000000000000'.decode('hex') # Quiet NaN - xinf = '7ff0000000000000'.decode('hex') - xcheck = 'bdc145651592979d'.decode('hex') # -3.14159e-11 - # Could use float.__getformat__, but it is a new python feature, - # so we use sys.byteorder. - if sys.byteorder == 'big': - nan = struct.unpack('d', xnan)[0] - inf = struct.unpack('d', xinf)[0] - check = struct.unpack('d', xcheck)[0] - else: - nan = struct.unpack('d', xnan[::-1])[0] - inf = struct.unpack('d', xinf[::-1])[0] - check = struct.unpack('d', xcheck[::-1])[0] - neginf = - inf - if check != -3.14159e-11: - raise ValueError('Unpacking raw IEEE 754 floats does not work') - except (ValueError, TypeError): - # Punt, make some fake classes to simulate. These are - # not perfect though. For instance nan * 1.0 == nan, - # as expected, but 1.0 * nan == 0.0, which is wrong. - class nan(float): - """An approximation of the NaN (not a number) floating point number.""" - def __repr__(self): return 'nan' - def __str__(self): return 'nan' - def __add__(self,x): return self - def __radd__(self,x): return self - def __sub__(self,x): return self - def __rsub__(self,x): return self - def __mul__(self,x): return self - def __rmul__(self,x): return self - def __div__(self,x): return self - def __rdiv__(self,x): return self - def __divmod__(self,x): return (self,self) - def __rdivmod__(self,x): return (self,self) - def __mod__(self,x): return self - def __rmod__(self,x): return self - def __pow__(self,exp): return self - def __rpow__(self,exp): return self - def __neg__(self): return self - def __pos__(self): return self - def __abs__(self): return self - def __lt__(self,x): return False - def __le__(self,x): return False - def __eq__(self,x): return False - def __neq__(self,x): return True - def __ge__(self,x): return False - def __gt__(self,x): return False - def __complex__(self,*a): raise NotImplementedError('NaN can not be converted to a complex') - if decimal: - nan = decimal.Decimal('NaN') - else: - nan = nan() - class inf(float): - """An approximation of the +Infinity floating point number.""" - def __repr__(self): return 'inf' - def __str__(self): return 'inf' - def __add__(self,x): return self - def __radd__(self,x): return self - def __sub__(self,x): return self - def __rsub__(self,x): return self - def __mul__(self,x): - if x is neginf or x < 0: - return neginf - elif x == 0: - return nan - else: - return self - def __rmul__(self,x): return self.__mul__(x) - def __div__(self,x): - if x == 0: - raise ZeroDivisionError('float division') - elif x < 0: - return neginf - else: - return self - def __rdiv__(self,x): - if x is inf or x is neginf or x is nan: - return nan - return 0.0 - def __divmod__(self,x): - if x == 0: - raise ZeroDivisionError('float divmod()') - elif x < 0: - return (nan,nan) - else: - return (self,self) - def __rdivmod__(self,x): - if x is inf or x is neginf or x is nan: - return (nan, nan) - return (0.0, x) - def __mod__(self,x): - if x == 0: - raise ZeroDivisionError('float modulo') - else: - return nan - def __rmod__(self,x): - if x is inf or x is neginf or x is nan: - return nan - return x - def __pow__(self, exp): - if exp == 0: - return 1.0 - else: - return self - def __rpow__(self, x): - if -1 < x < 1: return 0.0 - elif x == 1.0: return 1.0 - elif x is nan or x is neginf or x < 0: - return nan - else: - return self - def __neg__(self): return neginf - def __pos__(self): return self - def __abs__(self): return self - def __lt__(self,x): return False - def __le__(self,x): - if x is self: - return True - else: - return False - def __eq__(self,x): - if x is self: - return True - else: - return False - def __neq__(self,x): - if x is self: - return False - else: - return True - def __ge__(self,x): return True - def __gt__(self,x): return True - def __complex__(self,*a): raise NotImplementedError('Infinity can not be converted to a complex') - if decimal: - inf = decimal.Decimal('Infinity') - else: - inf = inf() - class neginf(float): - """An approximation of the -Infinity floating point number.""" - def __repr__(self): return '-inf' - def __str__(self): return '-inf' - def __add__(self,x): return self - def __radd__(self,x): return self - def __sub__(self,x): return self - def __rsub__(self,x): return self - def __mul__(self,x): - if x is self or x < 0: - return inf - elif x == 0: - return nan - else: - return self - def __rmul__(self,x): return self.__mul__(self) - def __div__(self,x): - if x == 0: - raise ZeroDivisionError('float division') - elif x < 0: - return inf - else: - return self - def __rdiv__(self,x): - if x is inf or x is neginf or x is nan: - return nan - return -0.0 - def __divmod__(self,x): - if x == 0: - raise ZeroDivisionError('float divmod()') - elif x < 0: - return (nan,nan) - else: - return (self,self) - def __rdivmod__(self,x): - if x is inf or x is neginf or x is nan: - return (nan, nan) - return (-0.0, x) - def __mod__(self,x): - if x == 0: - raise ZeroDivisionError('float modulo') - else: - return nan - def __rmod__(self,x): - if x is inf or x is neginf or x is nan: - return nan - return x - def __pow__(self,exp): - if exp == 0: - return 1.0 - else: - return self - def __rpow__(self, x): - if x is nan or x is inf or x is inf: - return nan - return 0.0 - def __neg__(self): return inf - def __pos__(self): return self - def __abs__(self): return inf - def __lt__(self,x): return True - def __le__(self,x): return True - def __eq__(self,x): - if x is self: - return True - else: - return False - def __neq__(self,x): - if x is self: - return False - else: - return True - def __ge__(self,x): - if x is self: - return True - else: - return False - def __gt__(self,x): return False - def __complex__(self,*a): raise NotImplementedError('-Infinity can not be converted to a complex') - if decimal: - neginf = decimal.Decimal('-Infinity') - else: - neginf = neginf(0) - return nan, inf, neginf - -nan, inf, neginf = _nonnumber_float_constants() -del _nonnumber_float_constants - - -# ---------------------------------------------------------------------- -# String processing helpers - -unsafe_string_chars = '"\\' + ''.join([chr(i) for i in range(0x20)]) -def skipstringsafe( s, start=0, end=None ): - i = start - #if end is None: - # end = len(s) - while i < end and s[i] not in unsafe_string_chars: - #c = s[i] - #if c in unsafe_string_chars: - # break - i += 1 - return i -def skipstringsafe_slow( s, start=0, end=None ): - i = start - if end is None: - end = len(s) - while i < end: - c = s[i] - if c == '"' or c == '\\' or ord(c) <= 0x1f: - break - i += 1 - return i - -def extend_list_with_sep( orig_seq, extension_seq, sepchar='' ): - if not sepchar: - orig_seq.extend( extension_seq ) - else: - for i, x in enumerate(extension_seq): - if i > 0: - orig_seq.append( sepchar ) - orig_seq.append( x ) - -def extend_and_flatten_list_with_sep( orig_seq, extension_seq, separator='' ): - for i, part in enumerate(extension_seq): - if i > 0 and separator: - orig_seq.append( separator ) - orig_seq.extend( part ) - - -# ---------------------------------------------------------------------- -# Unicode helpers -# -# JSON requires that all JSON implementations must support the UTF-32 -# encoding (as well as UTF-8 and UTF-16). But earlier versions of -# Python did not provide a UTF-32 codec. So we must implement UTF-32 -# ourselves in case we need it. - -def utf32le_encode( obj, errors='strict' ): - """Encodes a Unicode string into a UTF-32LE encoded byte string.""" - import struct - try: - import cStringIO as sio - except ImportError: - import StringIO as sio - f = sio.StringIO() - write = f.write - pack = struct.pack - for c in obj: - n = ord(c) - if 0xD800 <= n <= 0xDFFF: # surrogate codepoints are prohibited by UTF-32 - if errors == 'ignore': - continue - elif errors == 'replace': - n = ord('?') - else: - cname = 'U+%04X'%n - raise UnicodeError('UTF-32 can not encode surrogate characters',cname) - write( pack('L', n) ) - return f.getvalue() - - -def utf32le_decode( obj, errors='strict' ): - """Decodes a UTF-32LE byte string into a Unicode string.""" - if len(obj) % 4 != 0: - raise UnicodeError('UTF-32 decode error, data length not a multiple of 4 bytes') - import struct - unpack = struct.unpack - chars = [] - i = 0 - for i in range(0, len(obj), 4): - seq = obj[i:i+4] - n = unpack('L',seq)[0] - chars.append( unichr(n) ) - return u''.join( chars ) - - -def auto_unicode_decode( s ): - """Takes a string and tries to convert it to a Unicode string. - - This will return a Python unicode string type corresponding to the - input string (either str or unicode). The character encoding is - guessed by looking for either a Unicode BOM prefix, or by the - rules specified by RFC 4627. When in doubt it is assumed the - input is encoded in UTF-8 (the default for JSON). - - """ - if isinstance(s, unicode): - return s - if len(s) < 4: - return s.decode('utf8') # not enough bytes, assume default of utf-8 - # Look for BOM marker - import codecs - bom2 = s[:2] - bom4 = s[:4] - a, b, c, d = map(ord, s[:4]) # values of first four bytes - if bom4 == codecs.BOM_UTF32_LE: - encoding = 'utf-32le' - s = s[4:] - elif bom4 == codecs.BOM_UTF32_BE: - encoding = 'utf-32be' - s = s[4:] - elif bom2 == codecs.BOM_UTF16_LE: - encoding = 'utf-16le' - s = s[2:] - elif bom2 == codecs.BOM_UTF16_BE: - encoding = 'utf-16be' - s = s[2:] - # No BOM, so autodetect encoding used by looking at first four bytes - # according to RFC 4627 section 3. - elif a==0 and b==0 and c==0 and d!=0: # UTF-32BE - encoding = 'utf-32be' - elif a==0 and b!=0 and c==0 and d!=0: # UTF-16BE - encoding = 'utf-16be' - elif a!=0 and b==0 and c==0 and d==0: # UTF-32LE - encoding = 'utf-32le' - elif a!=0 and b==0 and c!=0 and d==0: # UTF-16LE - encoding = 'utf-16le' - else: #if a!=0 and b!=0 and c!=0 and d!=0: # UTF-8 - # JSON spec says default is UTF-8, so always guess it - # if we can't guess otherwise - encoding = 'utf8' - # Make sure the encoding is supported by Python - try: - cdk = codecs.lookup(encoding) - except LookupError: - if encoding.startswith('utf-32') \ - or encoding.startswith('ucs4') \ - or encoding.startswith('ucs-4'): - # Python doesn't natively have a UTF-32 codec, but JSON - # requires that it be supported. So we must decode these - # manually. - if encoding.endswith('le'): - unis = utf32le_decode(s) - else: - unis = utf32be_decode(s) - else: - raise JSONDecodeError('this python has no codec for this character encoding',encoding) - else: - # Convert to unicode using a standard codec - unis = s.decode(encoding) - return unis - - -def surrogate_pair_as_unicode( c1, c2 ): - """Takes a pair of unicode surrogates and returns the equivalent unicode character. - - The input pair must be a surrogate pair, with c1 in the range - U+D800 to U+DBFF and c2 in the range U+DC00 to U+DFFF. - - """ - n1, n2 = ord(c1), ord(c2) - if n1 < 0xD800 or n1 > 0xDBFF or n2 < 0xDC00 or n2 > 0xDFFF: - raise JSONDecodeError('illegal Unicode surrogate pair',(c1,c2)) - a = n1 - 0xD800 - b = n2 - 0xDC00 - v = (a << 10) | b - v += 0x10000 - return unichr(v) - - -def unicode_as_surrogate_pair( c ): - """Takes a single unicode character and returns a sequence of surrogate pairs. - - The output of this function is a tuple consisting of one or two unicode - characters, such that if the input character is outside the BMP range - then the output is a two-character surrogate pair representing that character. - - If the input character is inside the BMP then the output tuple will have - just a single character...the same one. - - """ - n = ord(c) - if n < 0x10000: - return (unichr(n),) # in BMP, surrogate pair not required - v = n - 0x10000 - vh = (v >> 10) & 0x3ff # highest 10 bits - vl = v & 0x3ff # lowest 10 bits - w1 = 0xD800 | vh - w2 = 0xDC00 | vl - return (unichr(w1), unichr(w2)) - - -# ---------------------------------------------------------------------- -# Type identification - -def isnumbertype( obj ): - """Is the object of a Python number type (excluding complex)?""" - return isinstance(obj, (int,long,float)) \ - and not isinstance(obj, bool) \ - or obj is nan or obj is inf or obj is neginf - - -def isstringtype( obj ): - """Is the object of a Python string type?""" - if isinstance(obj, basestring): - return True - # Must also check for some other pseudo-string types - import types, UserString - return isinstance(obj, types.StringTypes) \ - or isinstance(obj, UserString.UserString) \ - or isinstance(obj, UserString.MutableString) - - -# ---------------------------------------------------------------------- -# Numeric helpers - -def decode_hex( hexstring ): - """Decodes a hexadecimal string into it's integer value.""" - # We don't use the builtin 'hex' codec in python since it can - # not handle odd numbers of digits, nor raise the same type - # of exceptions we want to. - n = 0 - for c in hexstring: - if '0' <= c <= '9': - d = ord(c) - ord('0') - elif 'a' <= c <= 'f': - d = ord(c) - ord('a') + 10 - elif 'A' <= c <= 'F': - d = ord(c) - ord('A') + 10 - else: - raise JSONDecodeError('not a hexadecimal number',hexstring) - # Could use ((n << 4 ) | d), but python 2.3 issues a FutureWarning. - n = (n * 16) + d - return n - - -def decode_octal( octalstring ): - """Decodes an octal string into it's integer value.""" - n = 0 - for c in octalstring: - if '0' <= c <= '7': - d = ord(c) - ord('0') - else: - raise JSONDecodeError('not an octal number',octalstring) - # Could use ((n << 3 ) | d), but python 2.3 issues a FutureWarning. - n = (n * 8) + d - return n - - -# ---------------------------------------------------------------------- -# Exception classes. - -class JSONError(ValueError): - """Our base class for all JSON-related errors. - - """ - def pretty_description(self): - err = self.args[0] - if len(self.args) > 1: - err += ': ' - for anum, a in enumerate(self.args[1:]): - if anum > 1: - err += ', ' - astr = repr(a) - if len(astr) > 20: - astr = astr[:20] + '...' - err += astr - return err - -class JSONDecodeError(JSONError): - """An exception class raised when a JSON decoding error (syntax error) occurs.""" - - -class JSONEncodeError(JSONError): - """An exception class raised when a python object can not be encoded as a JSON string.""" - - -#---------------------------------------------------------------------- -# The main JSON encoder/decoder class. - -class JSON(object): - """An encoder/decoder for JSON data streams. - - Usually you will call the encode() or decode() methods. The other - methods are for lower-level processing. - - Whether the JSON parser runs in strict mode (which enforces exact - compliance with the JSON spec) or the more forgiving non-string mode - can be affected by setting the 'strict' argument in the object's - initialization; or by assigning True or False to the 'strict' - property of the object. - - You can also adjust a finer-grained control over strictness by - allowing or preventing specific behaviors. You can get a list of - all the available behaviors by accessing the 'behaviors' property. - Likewise the allowed_behaviors and prevented_behaviors list which - behaviors will be allowed and which will not. Call the allow() - or prevent() methods to adjust these. - - """ - _escapes_json = { # character escapes in JSON - '"': '"', - '/': '/', - '\\': '\\', - 'b': '\b', - 'f': '\f', - 'n': '\n', - 'r': '\r', - 't': '\t', - } - - _escapes_js = { # character escapes in Javascript - '"': '"', - '\'': '\'', - '\\': '\\', - 'b': '\b', - 'f': '\f', - 'n': '\n', - 'r': '\r', - 't': '\t', - 'v': '\v', - '0': '\x00' - } - - # Following is a reverse mapping of escape characters, used when we - # output JSON. Only those escapes which are always safe (e.g., in JSON) - # are here. It won't hurt if we leave questionable ones out. - _rev_escapes = {'\n': '\\n', - '\t': '\\t', - '\b': '\\b', - '\r': '\\r', - '\f': '\\f', - '"': '\\"', - '\\': '\\\\'} - - def __init__(self, strict=False, compactly=True, escape_unicode=False): - """Creates a JSON encoder/decoder object. - - If 'strict' is set to True, then only strictly-conforming JSON - output will be produced. Note that this means that some types - of values may not be convertable and will result in a - JSONEncodeError exception. - - If 'compactly' is set to True, then the resulting string will - have all extraneous white space removed; if False then the - string will be "pretty printed" with whitespace and indentation - added to make it more readable. - - If 'escape_unicode' is set to True, then all non-ASCII characters - will be represented as a unicode escape sequence; if False then - the actual real unicode character will be inserted if possible. - - The 'escape_unicode' can also be a function, which when called - with a single argument of a unicode character will return True - if the character should be escaped or False if it should not. - - If you wish to extend the encoding to ba able to handle - additional types, you should subclass this class and override - the encode_default() method. - - """ - import sys - self._set_strictness(strict) - self._encode_compactly = compactly - try: - # see if we were passed a predicate function - b = escape_unicode(u'A') - self._encode_unicode_as_escapes = escape_unicode - except (ValueError, NameError, TypeError): - # Just set to True or False. We could use lambda x:True - # to make it more consistent (always a function), but it - # will be too slow, so we'll make explicit tests later. - self._encode_unicode_as_escapes = bool(escape_unicode) - self._sort_dictionary_keys = True - - # The following is a boolean map of the first 256 characters - # which will quickly tell us which of those characters never - # need to be escaped. - - self._asciiencodable = [32 <= c < 128 and not self._rev_escapes.has_key(chr(c)) - for c in range(0,255)] - - def _set_strictness(self, strict): - """Changes the strictness behavior. - - Pass True to be very strict about JSON syntax, or False to be looser. - """ - self._allow_any_type_at_start = not strict - self._allow_all_numeric_signs = not strict - self._allow_comments = not strict - self._allow_control_char_in_string = not strict - self._allow_hex_numbers = not strict - self._allow_initial_decimal_point = not strict - self._allow_js_string_escapes = not strict - self._allow_non_numbers = not strict - self._allow_nonescape_characters = not strict # "\z" -> "z" - self._allow_nonstring_keys = not strict - self._allow_omitted_array_elements = not strict - self._allow_single_quoted_strings = not strict - self._allow_trailing_comma_in_literal = not strict - self._allow_undefined_values = not strict - self._allow_unicode_format_control_chars = not strict - self._allow_unicode_whitespace = not strict - # Always disable this by default - self._allow_octal_numbers = False - - def allow(self, behavior): - """Allow the specified behavior (turn off a strictness check). - - The list of all possible behaviors is available in the behaviors property. - You can see which behaviors are currently allowed by accessing the - allowed_behaviors property. - - """ - p = '_allow_' + behavior - if hasattr(self, p): - setattr(self, p, True) - else: - raise AttributeError('Behavior is not known',behavior) - - def prevent(self, behavior): - """Prevent the specified behavior (turn on a strictness check). - - The list of all possible behaviors is available in the behaviors property. - You can see which behaviors are currently prevented by accessing the - prevented_behaviors property. - - """ - p = '_allow_' + behavior - if hasattr(self, p): - setattr(self, p, False) - else: - raise AttributeError('Behavior is not known',behavior) - - def _get_behaviors(self): - return sorted([ n[len('_allow_'):] for n in self.__dict__ \ - if n.startswith('_allow_')]) - behaviors = property(_get_behaviors, - doc='List of known behaviors that can be passed to allow() or prevent() methods') - - def _get_allowed_behaviors(self): - return sorted([ n[len('_allow_'):] for n in self.__dict__ \ - if n.startswith('_allow_') and getattr(self,n)]) - allowed_behaviors = property(_get_allowed_behaviors, - doc='List of known behaviors that are currently allowed') - - def _get_prevented_behaviors(self): - return sorted([ n[len('_allow_'):] for n in self.__dict__ \ - if n.startswith('_allow_') and not getattr(self,n)]) - prevented_behaviors = property(_get_prevented_behaviors, - doc='List of known behaviors that are currently prevented') - - def _is_strict(self): - return not self.allowed_behaviors - strict = property(_is_strict, _set_strictness, - doc='True if adherence to RFC 4627 syntax is strict, or False is more generous ECMAScript syntax is permitted') - - - def isws(self, c): - """Determines if the given character is considered as white space. - - Note that Javscript is much more permissive on what it considers - to be whitespace than does JSON. - - Ref. ECMAScript section 7.2 - - """ - if not self._allow_unicode_whitespace: - return c in ' \t\n\r' - else: - if not isinstance(c,unicode): - c = unicode(c) - if c in u' \t\n\r\f\v': - return True - import unicodedata - return unicodedata.category(c) == 'Zs' - - def islineterm(self, c): - """Determines if the given character is considered a line terminator. - - Ref. ECMAScript section 7.3 - - """ - if c == '\r' or c == '\n': - return True - if c == u'\u2028' or c == u'\u2029': # unicodedata.category(c) in ['Zl', 'Zp'] - return True - return False - - def strip_format_control_chars(self, txt): - """Filters out all Unicode format control characters from the string. - - ECMAScript permits any Unicode "format control characters" to - appear at any place in the source code. They are to be - ignored as if they are not there before any other lexical - tokenization occurs. Note that JSON does not allow them. - - Ref. ECMAScript section 7.1. - - """ - import unicodedata - txt2 = filter( lambda c: unicodedata.category(unicode(c)) != 'Cf', - txt ) - return txt2 - - - def decode_null(self, s, i=0): - """Intermediate-level decoder for ECMAScript 'null' keyword. - - Takes a string and a starting index, and returns a Python - None object and the index of the next unparsed character. - - """ - if i < len(s) and s[i:i+4] == 'null': - return None, i+4 - raise JSONDecodeError('literal is not the JSON "null" keyword', s) - - def encode_undefined(self): - """Produces the ECMAScript 'undefined' keyword.""" - return 'undefined' - - def encode_null(self): - """Produces the JSON 'null' keyword.""" - return 'null' - - def decode_boolean(self, s, i=0): - """Intermediate-level decode for JSON boolean literals. - - Takes a string and a starting index, and returns a Python bool - (True or False) and the index of the next unparsed character. - - """ - if s[i:i+4] == 'true': - return True, i+4 - elif s[i:i+5] == 'false': - return False, i+5 - raise JSONDecodeError('literal value is not a JSON boolean keyword',s) - - def encode_boolean(self, b): - """Encodes the Python boolean into a JSON Boolean literal.""" - if bool(b): - return 'true' - return 'false' - - def decode_number(self, s, i=0, imax=None): - """Intermediate-level decoder for JSON numeric literals. - - Takes a string and a starting index, and returns a Python - suitable numeric type and the index of the next unparsed character. - - The returned numeric type can be either of a Python int, - long, or float. In addition some special non-numbers may - also be returned such as nan, inf, and neginf (technically - which are Python floats, but have no numeric value.) - - Ref. ECMAScript section 8.5. - - """ - if imax is None: - imax = len(s) - # Detect initial sign character(s) - if not self._allow_all_numeric_signs: - if s[i] == '+' or (s[i] == '-' and i+1 < imax and \ - s[i+1] in '+-'): - raise JSONDecodeError('numbers in strict JSON may only have a single "-" as a sign prefix',s[i:]) - sign = +1 - j = i # j will point after the sign prefix - while j < imax and s[j] in '+-': - if s[j] == '-': sign = sign * -1 - j += 1 - # Check for ECMAScript symbolic non-numbers - if s[j:j+3] == 'NaN': - if self._allow_non_numbers: - return nan, j+3 - else: - raise JSONDecodeError('NaN literals are not allowed in strict JSON') - elif s[j:j+8] == 'Infinity': - if self._allow_non_numbers: - if sign < 0: - return neginf, j+8 - else: - return inf, j+8 - else: - raise JSONDecodeError('Infinity literals are not allowed in strict JSON') - elif s[j:j+2] in ('0x','0X'): - if self._allow_hex_numbers: - k = j+2 - while k < imax and s[k] in hexdigits: - k += 1 - n = sign * decode_hex( s[j+2:k] ) - return n, k - else: - raise JSONDecodeError('hexadecimal literals are not allowed in strict JSON',s[i:]) - else: - # Decimal (or octal) number, find end of number. - # General syntax is: \d+[\.\d+][e[+-]?\d+] - k = j # will point to end of digit sequence - could_be_octal = ( k+1 < imax and s[k] == '0' ) # first digit is 0 - decpt = None # index into number of the decimal point, if any - ept = None # index into number of the e|E exponent start, if any - esign = '+' # sign of exponent - sigdigits = 0 # number of significant digits (approx, counts end zeros) - while k < imax and (s[k].isdigit() or s[k] in '.+-eE'): - c = s[k] - if c not in octaldigits: - could_be_octal = False - if c == '.': - if decpt is not None or ept is not None: - break - else: - decpt = k-j - elif c in 'eE': - if ept is not None: - break - else: - ept = k-j - elif c in '+-': - if not ept: - break - esign = c - else: #digit - if not ept: - sigdigits += 1 - k += 1 - number = s[j:k] # The entire number as a string - #print 'NUMBER IS: ', repr(number), ', sign', sign, ', esign', esign, \ - # ', sigdigits', sigdigits, \ - # ', decpt', decpt, ', ept', ept - - # Handle octal integers first as an exception. If octal - # is not enabled (the ECMAScipt standard) then just do - # nothing and treat the string as a decimal number. - if could_be_octal and self._allow_octal_numbers: - n = sign * decode_octal( number ) - return n, k - - # A decimal number. Do a quick check on JSON syntax restrictions. - if number[0] == '.' and not self._allow_initial_decimal_point: - raise JSONDecodeError('numbers in strict JSON must have at least one digit before the decimal point',s[i:]) - elif number[0] == '0' and \ - len(number) > 1 and number[1].isdigit(): - if self._allow_octal_numbers: - raise JSONDecodeError('initial zero digit is only allowed for octal integers',s[i:]) - else: - raise JSONDecodeError('initial zero digit must not be followed by other digits (octal numbers are not permitted)',s[i:]) - # Make sure decimal point is followed by a digit - if decpt is not None: - if decpt+1 >= len(number) or not number[decpt+1].isdigit(): - raise JSONDecodeError('decimal point must be followed by at least one digit',s[i:]) - # Determine the exponential part - if ept is not None: - if ept+1 >= len(number): - raise JSONDecodeError('exponent in number is truncated',s[i:]) - try: - exponent = int(number[ept+1:]) - except ValueError: - raise JSONDecodeError('not a valid exponent in number',s[i:]) - ##print 'EXPONENT', exponent - else: - exponent = 0 - # Try to make an int/long first. - if decpt is None and exponent >= 0: - # An integer - if ept: - n = int(number[:ept]) - else: - n = int(number) - n *= sign - if exponent: - n *= 10**exponent - if n == 0 and sign < 0: - # minus zero, must preserve negative sign so make a float - n = -0.0 - else: - try: - if decimal and (abs(exponent) > float_maxexp or sigdigits > float_sigdigits): - try: - n = decimal.Decimal(number) - n = n.normalize() - except decimal.Overflow: - if sign<0: - n = neginf - else: - n = inf - else: - n *= sign - else: - n = float(number) * sign - except ValueError: - raise JSONDecodeError('not a valid JSON numeric literal', s[i:j]) - return n, k - - def encode_number(self, n): - """Encodes a Python numeric type into a JSON numeric literal. - - The special non-numeric values of float('nan'), float('inf') - and float('-inf') are translated into appropriate JSON - literals. - - Note that Python complex types are not handled, as there is no - ECMAScript equivalent type. - - """ - if isinstance(n, complex): - if n.imag: - raise JSONEncodeError('Can not encode a complex number that has a non-zero imaginary part',n) - n = n.real - if isinstance(n, (int,long)): - return str(n) - if decimal and isinstance(n, decimal.Decimal): - return str(n) - global nan, inf, neginf - if n is nan: - return 'NaN' - elif n is inf: - return 'Infinity' - elif n is neginf: - return '-Infinity' - elif isinstance(n, float): - # Check for non-numbers. - # In python nan == inf == -inf, so must use repr() to distinguish - reprn = repr(n).lower() - if ('inf' in reprn and '-' in reprn) or n == neginf: - return '-Infinity' - elif 'inf' in reprn or n is inf: - return 'Infinity' - elif 'nan' in reprn or n is nan: - return 'NaN' - return repr(n) - else: - raise TypeError('encode_number expected an integral, float, or decimal number type',type(n)) - - def decode_string(self, s, i=0, imax=None): - """Intermediate-level decoder for JSON string literals. - - Takes a string and a starting index, and returns a Python - string (or unicode string) and the index of the next unparsed - character. - - """ - if imax is None: - imax = len(s) - if imax < i+2 or s[i] not in '"\'': - raise JSONDecodeError('string literal must be properly quoted',s[i:]) - closer = s[i] - if closer == '\'' and not self._allow_single_quoted_strings: - raise JSONDecodeError('string literals must use double quotation marks in strict JSON',s[i:]) - i += 1 # skip quote - if self._allow_js_string_escapes: - escapes = self._escapes_js - else: - escapes = self._escapes_json - ccallowed = self._allow_control_char_in_string - chunks = [] - _append = chunks.append - done = False - high_surrogate = None - while i < imax: - c = s[i] - # Make sure a high surrogate is immediately followed by a low surrogate - if high_surrogate and (i+1 >= imax or s[i:i+2] != '\\u'): - raise JSONDecodeError('High unicode surrogate must be followed by a low surrogate',s[i:]) - if c == closer: - i += 1 # skip end quote - done = True - break - elif c == '\\': - # Escaped character - i += 1 - if i >= imax: - raise JSONDecodeError('escape in string literal is incomplete',s[i-1:]) - c = s[i] - - if '0' <= c <= '7' and self._allow_octal_numbers: - # Handle octal escape codes first so special \0 doesn't kick in yet. - # Follow Annex B.1.2 of ECMAScript standard. - if '0' <= c <= '3': - maxdigits = 3 - else: - maxdigits = 2 - for k in range(i, i+maxdigits+1): - if k >= imax or s[k] not in octaldigits: - break - n = decode_octal(s[i:k]) - if n < 128: - _append( chr(n) ) - else: - _append( unichr(n) ) - i = k - continue - - if escapes.has_key(c): - _append(escapes[c]) - i += 1 - elif c == 'u' or c == 'x': - i += 1 - if c == 'u': - digits = 4 - else: # c== 'x' - if not self._allow_js_string_escapes: - raise JSONDecodeError(r'string literals may not use the \x hex-escape in strict JSON',s[i-1:]) - digits = 2 - if i+digits >= imax: - raise JSONDecodeError('numeric character escape sequence is truncated',s[i-1:]) - n = decode_hex( s[i:i+digits] ) - if high_surrogate: - # Decode surrogate pair and clear high surrogate - _append( surrogate_pair_as_unicode( high_surrogate, unichr(n) ) ) - high_surrogate = None - elif n < 128: - # ASCII chars always go in as a str - _append( chr(n) ) - elif 0xd800 <= n <= 0xdbff: # high surrogate - if imax < i + digits + 2 or s[i+digits] != '\\' or s[i+digits+1] != 'u': - raise JSONDecodeError('High unicode surrogate must be followed by a low surrogate',s[i-2:]) - high_surrogate = unichr(n) # remember until we get to the low surrogate - elif 0xdc00 <= n <= 0xdfff: # low surrogate - raise JSONDecodeError('Low unicode surrogate must be proceeded by a high surrogate',s[i-2:]) - else: - # Other chars go in as a unicode char - _append( unichr(n) ) - i += digits - else: - # Unknown escape sequence - if self._allow_nonescape_characters: - _append( c ) - i += 1 - else: - raise JSONDecodeError('unsupported escape code in JSON string literal',s[i-1:]) - elif ord(c) <= 0x1f: # A control character - if self.islineterm(c): - raise JSONDecodeError('line terminator characters must be escaped inside string literals',s[i:]) - elif ccallowed: - _append( c ) - i += 1 - else: - raise JSONDecodeError('control characters must be escaped inside JSON string literals',s[i:]) - else: # A normal character; not an escape sequence or end-quote. - # Find a whole sequence of "safe" characters so we can append them - # all at once rather than one a time, for speed. - j = i - i += 1 - while i < imax and s[i] not in unsafe_string_chars and s[i] != closer: - i += 1 - _append(s[j:i]) - if not done: - raise JSONDecodeError('string literal is not terminated with a quotation mark',s) - s = ''.join( chunks ) - return s, i - - def encode_string(self, s): - """Encodes a Python string into a JSON string literal. - - """ - # Must handle instances of UserString specially in order to be - # able to use ord() on it's simulated "characters". - import UserString - if isinstance(s, (UserString.UserString, UserString.MutableString)): - def tochar(c): - return c.data - else: - # Could use "lambda c:c", but that is too slow. So we set to None - # and use an explicit if test inside the loop. - tochar = None - - chunks = [] - chunks.append('"') - revesc = self._rev_escapes - asciiencodable = self._asciiencodable - encunicode = self._encode_unicode_as_escapes - i = 0 - imax = len(s) - while i < imax: - if tochar: - c = tochar(s[i]) - else: - c = s[i] - cord = ord(c) - if cord < 256 and asciiencodable[cord] and isinstance(encunicode, bool): - # Contiguous runs of plain old printable ASCII can be copied - # directly to the JSON output without worry (unless the user - # has supplied a custom is-encodable function). - j = i - i += 1 - while i < imax: - if tochar: - c = tochar(s[i]) - else: - c = s[i] - cord = ord(c) - if cord < 256 and asciiencodable[cord]: - i += 1 - else: - break - chunks.append( unicode(s[j:i]) ) - elif revesc.has_key(c): - # Has a shortcut escape sequence, like "\n" - chunks.append(revesc[c]) - i += 1 - elif cord <= 0x1F: - # Always unicode escape ASCII-control characters - chunks.append(r'\u%04x' % cord) - i += 1 - elif 0xD800 <= cord <= 0xDFFF: - # A raw surrogate character! This should never happen - # and there's no way to include it in the JSON output. - # So all we can do is complain. - cname = 'U+%04X' % cord - raise JSONEncodeError('can not include or escape a Unicode surrogate character',cname) - elif cord <= 0xFFFF: - # Other BMP Unicode character - if isinstance(encunicode, bool): - doesc = encunicode - else: - doesc = encunicode( c ) - if doesc: - chunks.append(r'\u%04x' % cord) - else: - chunks.append( c ) - i += 1 - else: # ord(c) >= 0x10000 - # Non-BMP Unicode - if isinstance(encunicode, bool): - doesc = encunicode - else: - doesc = encunicode( c ) - if doesc: - for surrogate in unicode_as_surrogate_pair(c): - chunks.append(r'\u%04x' % ord(surrogate)) - else: - chunks.append( c ) - i += 1 - chunks.append('"') - return ''.join( chunks ) - - def skip_comment(self, txt, i=0): - """Skips an ECMAScript comment, either // or /* style. - - The contents of the comment are returned as a string, as well - as the index of the character immediately after the comment. - - """ - if i+1 >= len(txt) or txt[i] != '/' or txt[i+1] not in '/*': - return None, i - if not self._allow_comments: - raise JSONDecodeError('comments are not allowed in strict JSON',txt[i:]) - multiline = (txt[i+1] == '*') - istart = i - i += 2 - while i < len(txt): - if multiline: - if txt[i] == '*' and i+1 < len(txt) and txt[i+1] == '/': - j = i+2 - break - elif txt[i] == '/' and i+1 < len(txt) and txt[i+1] == '*': - raise JSONDecodeError('multiline /* */ comments may not nest',txt[istart:i+1]) - else: - if self.islineterm(txt[i]): - j = i # line terminator is not part of comment - break - i += 1 - - if i >= len(txt): - if not multiline: - j = len(txt) # // comment terminated by end of file is okay - else: - raise JSONDecodeError('comment was never terminated',txt[istart:]) - return txt[istart:j], j - - def skipws(self, txt, i=0, imax=None, skip_comments=True): - """Skips whitespace. - """ - if not self._allow_comments and not self._allow_unicode_whitespace: - if imax is None: - imax = len(txt) - while i < imax and txt[i] in ' \r\n\t': - i += 1 - return i - else: - return self.skipws_any(txt, i, imax, skip_comments) - - def skipws_any(self, txt, i=0, imax=None, skip_comments=True): - """Skips all whitespace, including comments and unicode whitespace - - Takes a string and a starting index, and returns the index of the - next non-whitespace character. - - If skip_comments is True and not running in strict JSON mode, then - comments will be skipped over just like whitespace. - - """ - if imax is None: - imax = len(txt) - while i < imax: - if txt[i] == '/': - cmt, i = self.skip_comment(txt, i) - if i < imax and self.isws(txt[i]): - i += 1 - else: - break - return i - - def decode_composite(self, txt, i=0, imax=None): - """Intermediate-level JSON decoder for composite literal types (array and object). - - Takes text and a starting index, and returns either a Python list or - dictionary and the index of the next unparsed character. - - """ - if imax is None: - imax = len(txt) - i = self.skipws(txt, i, imax) - starti = i - if i >= imax or txt[i] not in '{[': - raise JSONDecodeError('composite object must start with "[" or "{"',txt[i:]) - if txt[i] == '[': - isdict = False - closer = ']' - obj = [] - else: - isdict = True - closer = '}' - obj = {} - i += 1 # skip opener - i = self.skipws(txt, i, imax) - - if i < imax and txt[i] == closer: - # empty composite - i += 1 - done = True - else: - saw_value = False # set to false at beginning and after commas - done = False - while i < imax: - i = self.skipws(txt, i, imax) - if i < imax and (txt[i] == ',' or txt[i] == closer): - c = txt[i] - i += 1 - if c == ',': - if not saw_value: - # no preceeding value, an elided (omitted) element - if isdict: - raise JSONDecodeError('can not omit elements of an object (dictionary)') - if self._allow_omitted_array_elements: - if self._allow_undefined_values: - obj.append( undefined ) - else: - obj.append( None ) - else: - raise JSONDecodeError('strict JSON does not permit omitted array (list) elements',txt[i:]) - saw_value = False - continue - else: # c == closer - if not saw_value and not self._allow_trailing_comma_in_literal: - if isdict: - raise JSONDecodeError('strict JSON does not allow a final comma in an object (dictionary) literal',txt[i-2:]) - else: - raise JSONDecodeError('strict JSON does not allow a final comma in an array (list) literal',txt[i-2:]) - done = True - break - - # Decode the item - if isdict and self._allow_nonstring_keys: - r = self.decodeobj(txt, i, identifier_as_string=True) - else: - r = self.decodeobj(txt, i, identifier_as_string=False) - if r: - if saw_value: - # two values without a separating comma - raise JSONDecodeError('values must be separated by a comma', txt[i:r[1]]) - saw_value = True - i = self.skipws(txt, r[1], imax) - if isdict: - key = r[0] # Ref 11.1.5 - if not isstringtype(key): - if isnumbertype(key): - if not self._allow_nonstring_keys: - raise JSONDecodeError('strict JSON only permits string literals as object properties (dictionary keys)',txt[starti:]) - else: - raise JSONDecodeError('object properties (dictionary keys) must be either string literals or numbers',txt[starti:]) - if i >= imax or txt[i] != ':': - raise JSONDecodeError('object property (dictionary key) has no value, expected ":"',txt[starti:]) - i += 1 - i = self.skipws(txt, i, imax) - rval = self.decodeobj(txt, i) - if rval: - i = self.skipws(txt, rval[1], imax) - obj[key] = rval[0] - else: - raise JSONDecodeError('object property (dictionary key) has no value',txt[starti:]) - else: # list - obj.append( r[0] ) - else: # not r - if isdict: - raise JSONDecodeError('expected a value, or "}"',txt[i:]) - elif not self._allow_omitted_array_elements: - raise JSONDecodeError('expected a value or "]"',txt[i:]) - else: - raise JSONDecodeError('expected a value, "," or "]"',txt[i:]) - # end while - if not done: - if isdict: - raise JSONDecodeError('object literal (dictionary) is not terminated',txt[starti:]) - else: - raise JSONDecodeError('array literal (list) is not terminated',txt[starti:]) - return obj, i - - def decode_javascript_identifier(self, name): - """Convert a JavaScript identifier into a Python string object. - - This method can be overriden by a subclass to redefine how JavaScript - identifiers are turned into Python objects. By default this just - converts them into strings. - - """ - return name - - def decodeobj(self, txt, i=0, imax=None, identifier_as_string=False, only_object_or_array=False): - """Intermediate-level JSON decoder. - - Takes a string and a starting index, and returns a two-tuple consting - of a Python object and the index of the next unparsed character. - - If there is no value at all (empty string, etc), the None is - returned instead of a tuple. - - """ - if imax is None: - imax = len(txt) - obj = None - i = self.skipws(txt, i, imax) - if i >= imax: - raise JSONDecodeError('Unexpected end of input') - c = txt[i] - - if c == '[' or c == '{': - obj, i = self.decode_composite(txt, i, imax) - elif only_object_or_array: - raise JSONDecodeError('JSON document must start with an object or array type only', txt[i:i+20]) - elif c == '"' or c == '\'': - obj, i = self.decode_string(txt, i, imax) - elif c.isdigit() or c in '.+-': - obj, i = self.decode_number(txt, i, imax) - elif c.isalpha() or c in'_$': - j = i - while j < imax and (txt[j].isalnum() or txt[j] in '_$'): - j += 1 - kw = txt[i:j] - if kw == 'null': - obj, i = None, j - elif kw == 'true': - obj, i = True, j - elif kw == 'false': - obj, i = False, j - elif kw == 'undefined': - if self._allow_undefined_values: - obj, i = undefined, j - else: - raise JSONDecodeError('strict JSON does not allow undefined elements',txt[i:]) - elif kw == 'NaN' or kw == 'Infinity': - obj, i = self.decode_number(txt, i) - else: - if identifier_as_string: - obj, i = self.decode_javascript_identifier(kw), j - else: - raise JSONDecodeError('unknown keyword or identifier',kw) - else: - raise JSONDecodeError('can not decode value',txt[i:]) - return obj, i - - - - def decode(self, txt): - """Decodes a JSON-endoded string into a Python object.""" - if self._allow_unicode_format_control_chars: - txt = self.strip_format_control_chars(txt) - r = self.decodeobj(txt, 0, only_object_or_array=not self._allow_any_type_at_start) - if not r: - raise JSONDecodeError('can not decode value',txt) - else: - obj, i = r - i = self.skipws(txt, i) - if i < len(txt): - raise JSONDecodeError('unexpected or extra text',txt[i:]) - return obj - - def encode(self, obj, nest_level=0): - """Encodes the Python object into a JSON string representation. - - This method will first attempt to encode an object by seeing - if it has a json_equivalent() method. If so than it will - call that method and then recursively attempt to encode - the object resulting from that call. - - Next it will attempt to determine if the object is a native - type or acts like a squence or dictionary. If so it will - encode that object directly. - - Finally, if no other strategy for encoding the object of that - type exists, it will call the encode_default() method. That - method currently raises an error, but it could be overridden - by subclasses to provide a hook for extending the types which - can be encoded. - - """ - chunks = [] - self.encode_helper(chunks, obj, nest_level) - return ''.join( chunks ) - - def encode_helper(self, chunklist, obj, nest_level): - #print 'encode_helper(chunklist=%r, obj=%r, nest_level=%r)'%(chunklist,obj,nest_level) - if hasattr(obj, 'json_equivalent'): - json = self.encode_equivalent( obj, nest_level=nest_level ) - if json is not None: - chunklist.append( json ) - return - if obj is None: - chunklist.append( self.encode_null() ) - elif obj is undefined: - if self._allow_undefined_values: - chunklist.append( self.encode_undefined() ) - else: - raise JSONEncodeError('strict JSON does not permit "undefined" values') - elif isinstance(obj, bool): - chunklist.append( self.encode_boolean(obj) ) - elif isinstance(obj, (int,long,float,complex)) or \ - (decimal and isinstance(obj, decimal.Decimal)): - chunklist.append( self.encode_number(obj) ) - elif isinstance(obj, basestring) or isstringtype(obj): - chunklist.append( self.encode_string(obj) ) - else: - self.encode_composite(chunklist, obj, nest_level) - - def encode_composite(self, chunklist, obj, nest_level): - """Encodes just dictionaries, lists, or sequences. - - Basically handles any python type for which iter() can create - an iterator object. - - This method is not intended to be called directly. Use the - encode() method instead. - - """ - #print 'encode_complex_helper(chunklist=%r, obj=%r, nest_level=%r)'%(chunklist,obj,nest_level) - try: - # Is it a dictionary or UserDict? Try iterkeys method first. - it = obj.iterkeys() - except AttributeError: - try: - # Is it a sequence? Try to make an iterator for it. - it = iter(obj) - except TypeError: - it = None - if it is not None: - # Does it look like a dictionary? Check for a minimal dict or - # UserDict interface. - isdict = hasattr(obj, '__getitem__') and hasattr(obj, 'keys') - compactly = self._encode_compactly - if isdict: - chunklist.append('{') - if compactly: - dictcolon = ':' - else: - dictcolon = ' : ' - else: - chunklist.append('[') - #print nest_level, 'opening sequence:', repr(chunklist) - if not compactly: - indent0 = ' ' * nest_level - indent = ' ' * (nest_level+1) - chunklist.append(' ') - sequence_chunks = [] # use this to allow sorting afterwards if dict - try: # while not StopIteration - numitems = 0 - while True: - obj2 = it.next() - if obj2 is obj: - raise JSONEncodeError('trying to encode an infinite sequence',obj) - if isdict and not isstringtype(obj2): - # Check JSON restrictions on key types - if isnumbertype(obj2): - if not self._allow_nonstring_keys: - raise JSONEncodeError('object properties (dictionary keys) must be strings in strict JSON',obj2) - else: - raise JSONEncodeError('object properties (dictionary keys) can only be strings or numbers in ECMAScript',obj2) - - # Encode this item in the sequence and put into item_chunks - item_chunks = [] - self.encode_helper( item_chunks, obj2, nest_level=nest_level+1 ) - if isdict: - item_chunks.append(dictcolon) - obj3 = obj[obj2] - self.encode_helper(item_chunks, obj3, nest_level=nest_level+2) - - #print nest_level, numitems, 'item:', repr(obj2) - #print nest_level, numitems, 'sequence_chunks:', repr(sequence_chunks) - #print nest_level, numitems, 'item_chunks:', repr(item_chunks) - #extend_list_with_sep(sequence_chunks, item_chunks) - sequence_chunks.append(item_chunks) - #print nest_level, numitems, 'new sequence_chunks:', repr(sequence_chunks) - numitems += 1 - except StopIteration: - pass - - if isdict and self._sort_dictionary_keys: - sequence_chunks.sort() # Note sorts by JSON repr, not original Python object - if compactly: - sep = ',' - else: - sep = ',\n' + indent - - #print nest_level, 'closing sequence' - #print nest_level, 'chunklist:', repr(chunklist) - #print nest_level, 'sequence_chunks:', repr(sequence_chunks) - extend_and_flatten_list_with_sep( chunklist, sequence_chunks, sep ) - #print nest_level, 'new chunklist:', repr(chunklist) - - if not compactly: - if numitems > 1: - chunklist.append('\n' + indent0) - else: - chunklist.append(' ') - if isdict: - chunklist.append('}') - else: - chunklist.append(']') - else: # Can't create an iterator for the object - json2 = self.encode_default( obj, nest_level=nest_level ) - chunklist.append( json2 ) - - def encode_equivalent( self, obj, nest_level=0 ): - """This method is used to encode user-defined class objects. - - The object being encoded should have a json_equivalent() - method defined which returns another equivalent object which - is easily JSON-encoded. If the object in question has no - json_equivalent() method available then None is returned - instead of a string so that the encoding will attempt the next - strategy. - - If a caller wishes to disable the calling of json_equivalent() - methods, then subclass this class and override this method - to just return None. - - """ - if hasattr(obj, 'json_equivalent') \ - and callable(getattr(obj,'json_equivalent')): - obj2 = obj.json_equivalent() - if obj2 is obj: - # Try to prevent careless infinite recursion - raise JSONEncodeError('object has a json_equivalent() method that returns itself',obj) - json2 = self.encode( obj2, nest_level=nest_level ) - return json2 - else: - return None - - def encode_default( self, obj, nest_level=0 ): - """This method is used to encode objects into JSON which are not straightforward. - - This method is intended to be overridden by subclasses which wish - to extend this encoder to handle additional types. - - """ - raise JSONEncodeError('can not encode object into a JSON representation',obj) - - -# ------------------------------ - -def encode( obj, strict=False, compactly=True, escape_unicode=False, encoding=None ): - """Encodes a Python object into a JSON-encoded string. - - If 'strict' is set to True, then only strictly-conforming JSON - output will be produced. Note that this means that some types - of values may not be convertable and will result in a - JSONEncodeError exception. - - If 'compactly' is set to True, then the resulting string will - have all extraneous white space removed; if False then the - string will be "pretty printed" with whitespace and indentation - added to make it more readable. - - If 'escape_unicode' is set to True, then all non-ASCII characters - will be represented as a unicode escape sequence; if False then - the actual real unicode character will be inserted. - - If no encoding is specified (encoding=None) then the output will - either be a Python string (if entirely ASCII) or a Python unicode - string type. - - However if an encoding name is given then the returned value will - be a python string which is the byte sequence encoding the JSON - value. As the default/recommended encoding for JSON is UTF-8, - you should almost always pass in encoding='utf8'. - - """ - import sys - encoder = None # Custom codec encoding function - bom = None # Byte order mark to prepend to final output - cdk = None # Codec to use - if encoding is not None: - import codecs - try: - cdk = codecs.lookup(encoding) - except LookupError: - cdk = None - - if cdk: - pass - elif not cdk: - # No built-in codec was found, see if it is something we - # can do ourself. - encoding = encoding.lower() - if encoding.startswith('utf-32') or encoding.startswith('utf32') \ - or encoding.startswith('ucs4') \ - or encoding.startswith('ucs-4'): - # Python doesn't natively have a UTF-32 codec, but JSON - # requires that it be supported. So we must decode these - # manually. - if encoding.endswith('le'): - encoder = utf32le_encode - elif encoding.endswith('be'): - encoder = utf32be_encode - else: - encoder = utf32be_encode - bom = codecs.BOM_UTF32_BE - elif encoding.startswith('ucs2') or encoding.startswith('ucs-2'): - # Python has no UCS-2, but we can simulate with - # UTF-16. We just need to force us to not try to - # encode anything past the BMP. - encoding = 'utf-16' - if not escape_unicode and not callable(escape_unicode): - escape_unicode = lambda c: (0xD800 <= ord(c) <= 0xDFFF) or ord(c) >= 0x10000 - else: - raise JSONEncodeError('this python has no codec for this character encoding',encoding) - - if not escape_unicode and not callable(escape_unicode): - if encoding and encoding.startswith('utf'): - # All UTF-x encodings can do the whole Unicode repertoire, so - # do nothing special. - pass - else: - # Even though we don't want to escape all unicode chars, - # the encoding being used may force us to do so anyway. - # We must pass in a function which says which characters - # the encoding can handle and which it can't. - def in_repertoire( c, encoding_func ): - try: - x = encoding_func( c, errors='strict' ) - except UnicodeError: - return False - return True - if encoder: - escape_unicode = lambda c: not in_repertoire(c, encoder) - elif cdk: - escape_unicode = lambda c: not in_repertoire(c, cdk[0]) - else: - pass # Let the JSON object deal with it - - j = JSON( strict=strict, compactly=compactly, escape_unicode=escape_unicode ) - - unitxt = j.encode( obj ) - if encoder: - txt = encoder( unitxt ) - elif encoding is not None: - txt = unitxt.encode( encoding ) - else: - txt = unitxt - if bom: - txt = bom + txt - return txt - - -def decode( txt, strict=False, encoding=None, **kw ): - """Decodes a JSON-encoded string into a Python object. - - If 'strict' is set to True, then those strings that are not - entirely strictly conforming to JSON will result in a - JSONDecodeError exception. - - The input string can be either a python string or a python unicode - string. If it is already a unicode string, then it is assumed - that no character set decoding is required. - - However, if you pass in a non-Unicode text string (i.e., a python - type 'str') then an attempt will be made to auto-detect and decode - the character encoding. This will be successful if the input was - encoded in any of UTF-8, UTF-16 (BE or LE), or UTF-32 (BE or LE), - and of course plain ASCII works too. - - Note though that if you know the character encoding, then you - should convert to a unicode string yourself, or pass it the name - of the 'encoding' to avoid the guessing made by the auto - detection, as with - - python_object = demjson.decode( input_bytes, encoding='utf8' ) - - Optional keywords arguments must be of the form - allow_xxxx=True/False - or - prevent_xxxx=True/False - where each will allow or prevent the specific behavior, after the - evaluation of the 'strict' argument. For example, if strict=True - then by also passing 'allow_comments=True' then comments will be - allowed. If strict=False then prevent_comments=True will allow - everything except comments. - - """ - # Initialize the JSON object - j = JSON( strict=strict ) - for keyword, value in kw.items(): - if keyword.startswith('allow_'): - behavior = keyword[6:] - allow = bool(value) - elif keyword.startswith('prevent_'): - behavior = keyword[8:] - allow = not bool(value) - else: - raise ValueError('unknown keyword argument', keyword) - if allow: - j.allow(behavior) - else: - j.prevent(behavior) - - # Convert the input string into unicode if needed. - if isinstance(txt,unicode): - unitxt = txt - else: - if encoding is None: - unitxt = auto_unicode_decode( txt ) - else: - cdk = None # codec - decoder = None - import codecs - try: - cdk = codecs.lookup(encoding) - except LookupError: - encoding = encoding.lower() - decoder = None - if encoding.startswith('utf-32') \ - or encoding.startswith('ucs4') \ - or encoding.startswith('ucs-4'): - # Python doesn't natively have a UTF-32 codec, but JSON - # requires that it be supported. So we must decode these - # manually. - if encoding.endswith('le'): - decoder = utf32le_decode - elif encoding.endswith('be'): - decoder = utf32be_decode - else: - if txt.startswith( codecs.BOM_UTF32_BE ): - decoder = utf32be_decode - txt = txt[4:] - elif txt.startswith( codecs.BOM_UTF32_LE ): - decoder = utf32le_decode - txt = txt[4:] - else: - if encoding.startswith('ucs'): - raise JSONDecodeError('UCS-4 encoded string must start with a BOM') - decoder = utf32be_decode # Default BE for UTF, per unicode spec - elif encoding.startswith('ucs2') or encoding.startswith('ucs-2'): - # Python has no UCS-2, but we can simulate with - # UTF-16. We just need to force us to not try to - # encode anything past the BMP. - encoding = 'utf-16' - - if decoder: - unitxt = decoder(txt) - elif encoding: - unitxt = txt.decode(encoding) - else: - raise JSONDecodeError('this python has no codec for this character encoding',encoding) - - # Check that the decoding seems sane. Per RFC 4627 section 3: - # "Since the first two characters of a JSON text will - # always be ASCII characters [RFC0020], ..." - # - # This check is probably not necessary, but it allows us to - # raise a suitably descriptive error rather than an obscure - # syntax error later on. - # - # Note that the RFC requirements of two ASCII characters seems - # to be an incorrect statement as a JSON string literal may - # have as it's first character any unicode character. Thus - # the first two characters will always be ASCII, unless the - # first character is a quotation mark. And in non-strict - # mode we can also have a few other characters too. - if len(unitxt) > 2: - first, second = unitxt[:2] - if first in '"\'': - pass # second can be anything inside string literal - else: - if ((ord(first) < 0x20 or ord(first) > 0x7f) or \ - (ord(second) < 0x20 or ord(second) > 0x7f)) and \ - (not j.isws(first) and not j.isws(second)): - # Found non-printable ascii, must check unicode - # categories to see if the character is legal. - # Only whitespace, line and paragraph separators, - # and format control chars are legal here. - import unicodedata - catfirst = unicodedata.category(unicode(first)) - catsecond = unicodedata.category(unicode(second)) - if catfirst not in ('Zs','Zl','Zp','Cf') or \ - catsecond not in ('Zs','Zl','Zp','Cf'): - raise JSONDecodeError('the decoded string is gibberish, is the encoding correct?',encoding) - # Now ready to do the actual decoding - obj = j.decode( unitxt ) - return obj - -# end file diff --git a/cgi-bin/load_question.py b/cgi-bin/load_question.py deleted file mode 100755 index af67e8230..000000000 --- a/cgi-bin/load_question.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/python2.5 - -# Online Python Tutor -# Copyright (C) 2010-2011 Philip J. Guo (philip@pgbovine.net) -# https://github.com/pgbovine/OnlinePythonTutor/ -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# Load a question file in the 'questions/' sub-directory, parse it, -# and return it to the caller in JSON format -QUESTIONS_DIR = '../questions/' - -from parse_questions import parseQuestionsFile - -import cgi, os, demjson - -form = cgi.FieldStorage() -question_file = form['question_file'].value - -fn = QUESTIONS_DIR + question_file + '.txt' -assert os.path.isfile(fn) - - -# Crucial first line to make sure that Apache serves this data -# correctly - DON'T FORGET THE EXTRA NEWLINES!!!: -print "Content-type: text/plain; charset=iso-8859-1\n\n" -print demjson.encode(parseQuestionsFile(fn)) diff --git a/jquery.textarea.js b/jquery.textarea.js deleted file mode 100644 index cd8acd5e4..000000000 --- a/jquery.textarea.js +++ /dev/null @@ -1,260 +0,0 @@ -// include this file AFTER including jQuery - -/* - * Tabby jQuery plugin version 0.12 - * - * Ted Devito - http://teddevito.com/demos/textarea.html - * - * You should have received a copy of the GNU General Public License - * along with Easy Widgets. If not, see - * - * Plugin development pattern based on: http://www.learningjquery.com/2007/10/a-plugin-development-pattern - * - */ - -// create closure - -(function($) { - - // plugin definition - - $.fn.tabby = function(options) { - //debug(this); - // build main options before element iteration - var opts = $.extend({}, $.fn.tabby.defaults, options); - var pressed = $.fn.tabby.pressed; - - // iterate and reformat each matched element - return this.each(function() { - $this = $(this); - - // build element specific options - var options = $.meta ? $.extend({}, opts, $this.data()) : opts; - - $this.bind('keydown',function (e) { - var kc = $.fn.tabby.catch_kc(e); - if (16 == kc) pressed.shft = true; - /* - because both CTRL+TAB and ALT+TAB default to an event (changing tab/window) that - will prevent js from capturing the keyup event, we'll set a timer on releasing them. - */ - if (17 == kc) {pressed.ctrl = true; setTimeout("$.fn.tabby.pressed.ctrl = false;",1000);} - if (18 == kc) {pressed.alt = true; setTimeout("$.fn.tabby.pressed.alt = false;",1000);} - - if (9 == kc && !pressed.ctrl && !pressed.alt) { - e.preventDefault; // does not work in O9.63 ?? - pressed.last = kc; setTimeout("$.fn.tabby.pressed.last = null;",0); - process_keypress ($(e.target).get(0), pressed.shft, options); - return false; - } - - }).bind('keyup',function (e) { - if (16 == $.fn.tabby.catch_kc(e)) pressed.shft = false; - }).bind('blur',function (e) { // workaround for Opera -- http://www.webdeveloper.com/forum/showthread.php?p=806588 - if (9 == pressed.last) $(e.target).one('focus',function (e) {pressed.last = null;}).get(0).focus(); - }); - - }); - }; - - // define and expose any extra methods - $.fn.tabby.catch_kc = function(e) { return e.keyCode ? e.keyCode : e.charCode ? e.charCode : e.which; }; - $.fn.tabby.pressed = {shft : false, ctrl : false, alt : false, last: null}; - - // private function for debugging - function debug($obj) { - if (window.console && window.console.log) - window.console.log('textarea count: ' + $obj.size()); - }; - - function process_keypress (o,shft,options) { - var scrollTo = o.scrollTop; - //var tabString = String.fromCharCode(9); - - // gecko; o.setSelectionRange is only available when the text box has focus - if (o.setSelectionRange) gecko_tab (o, shft, options); - - // ie; document.selection is always available - else if (document.selection) ie_tab (o, shft, options); - - o.scrollTop = scrollTo; - } - - // plugin defaults - //$.fn.tabby.defaults = {tabString : String.fromCharCode(9)}; - // modified by pgbovine: - $.fn.tabby.defaults = {tabString : ' '}; - - function gecko_tab (o, shft, options) { - var ss = o.selectionStart; - var es = o.selectionEnd; - - // when there's no selection and we're just working with the caret, we'll add/remove the tabs at the caret, providing more control - if(ss == es) { - // SHIFT+TAB - if (shft) { - // check to the left of the caret first - //if ("\t" == o.value.substring(ss-options.tabString.length, ss)) { - // modified by pgbovine: - if (" " == o.value.substring(ss-options.tabString.length, ss)) { - o.value = o.value.substring(0, ss-options.tabString.length) + o.value.substring(ss); // put it back together omitting one character to the left - o.focus(); - o.setSelectionRange(ss - options.tabString.length, ss - options.tabString.length); - } - // then check to the right of the caret - else if ("\t" == o.value.substring(ss, ss + options.tabString.length)) { - o.value = o.value.substring(0, ss) + o.value.substring(ss + options.tabString.length); // put it back together omitting one character to the right - o.focus(); - o.setSelectionRange(ss,ss); - } - } - // TAB - else { - o.value = o.value.substring(0, ss) + options.tabString + o.value.substring(ss); - o.focus(); - o.setSelectionRange(ss + options.tabString.length, ss + options.tabString.length); - } - } - // selections will always add/remove tabs from the start of the line - else { - // split the textarea up into lines and figure out which lines are included in the selection - var lines = o.value.split("\n"); - var indices = new Array(); - var sl = 0; // start of the line - var el = 0; // end of the line - var sel = false; - for (var i in lines) { - el = sl + lines[i].length; - indices.push({start: sl, end: el, selected: (sl <= ss && el > ss) || (el >= es && sl < es) || (sl > ss && el < es)}); - sl = el + 1;// for "\n" - } - - // walk through the array of lines (indices) and add tabs where appropriate - var modifier = 0; - for (var i in indices) { - if (indices[i].selected) { - var pos = indices[i].start + modifier; // adjust for tabs already inserted/removed - // SHIFT+TAB - if (shft && options.tabString == o.value.substring(pos,pos+options.tabString.length)) { // only SHIFT+TAB if there's a tab at the start of the line - o.value = o.value.substring(0,pos) + o.value.substring(pos + options.tabString.length); // omit the tabstring to the right - modifier -= options.tabString.length; - } - // TAB - else if (!shft) { - o.value = o.value.substring(0,pos) + options.tabString + o.value.substring(pos); // insert the tabstring - modifier += options.tabString.length; - } - } - } - o.focus(); - var ns = ss + ((modifier > 0) ? options.tabString.length : (modifier < 0) ? -options.tabString.length : 0); - var ne = es + modifier; - o.setSelectionRange(ns,ne); - } - } - - function ie_tab (o, shft, options) { - var range = document.selection.createRange(); - - if (o == range.parentElement()) { - // when there's no selection and we're just working with the caret, we'll add/remove the tabs at the caret, providing more control - if ('' == range.text) { - // SHIFT+TAB - if (shft) { - var bookmark = range.getBookmark(); - //first try to the left by moving opening up our empty range to the left - range.moveStart('character', -options.tabString.length); - if (options.tabString == range.text) { - range.text = ''; - } else { - // if that didn't work then reset the range and try opening it to the right - range.moveToBookmark(bookmark); - range.moveEnd('character', options.tabString.length); - if (options.tabString == range.text) - range.text = ''; - } - // move the pointer to the start of them empty range and select it - range.collapse(true); - range.select(); - } - - else { - // very simple here. just insert the tab into the range and put the pointer at the end - range.text = options.tabString; - range.collapse(false); - range.select(); - } - } - // selections will always add/remove tabs from the start of the line - else { - - var selection_text = range.text; - var selection_len = selection_text.length; - var selection_arr = selection_text.split("\r\n"); - - var before_range = document.body.createTextRange(); - before_range.moveToElementText(o); - before_range.setEndPoint("EndToStart", range); - var before_text = before_range.text; - var before_arr = before_text.split("\r\n"); - var before_len = before_text.length; // - before_arr.length + 1; - - var after_range = document.body.createTextRange(); - after_range.moveToElementText(o); - after_range.setEndPoint("StartToEnd", range); - var after_text = after_range.text; // we can accurately calculate distance to the end because we're not worried about MSIE trimming a \r\n - - var end_range = document.body.createTextRange(); - end_range.moveToElementText(o); - end_range.setEndPoint("StartToEnd", before_range); - var end_text = end_range.text; // we can accurately calculate distance to the end because we're not worried about MSIE trimming a \r\n - - var check_html = $(o).html(); - $("#r3").text(before_len + " + " + selection_len + " + " + after_text.length + " = " + check_html.length); - if((before_len + end_text.length) < check_html.length) { - before_arr.push(""); - before_len += 2; // for the \r\n that was trimmed - if (shft && options.tabString == selection_arr[0].substring(0,options.tabString.length)) - selection_arr[0] = selection_arr[0].substring(options.tabString.length); - else if (!shft) selection_arr[0] = options.tabString + selection_arr[0]; - } else { - if (shft && options.tabString == before_arr[before_arr.length-1].substring(0,options.tabString.length)) - before_arr[before_arr.length-1] = before_arr[before_arr.length-1].substring(options.tabString.length); - else if (!shft) before_arr[before_arr.length-1] = options.tabString + before_arr[before_arr.length-1]; - } - - for (var i = 1; i < selection_arr.length; i++) { - if (shft && options.tabString == selection_arr[i].substring(0,options.tabString.length)) - selection_arr[i] = selection_arr[i].substring(options.tabString.length); - else if (!shft) selection_arr[i] = options.tabString + selection_arr[i]; - } - - if (1 == before_arr.length && 0 == before_len) { - if (shft && options.tabString == selection_arr[0].substring(0,options.tabString.length)) - selection_arr[0] = selection_arr[0].substring(options.tabString.length); - else if (!shft) selection_arr[0] = options.tabString + selection_arr[0]; - } - - if ((before_len + selection_len + after_text.length) < check_html.length) { - selection_arr.push(""); - selection_len += 2; // for the \r\n that was trimmed - } - - before_range.text = before_arr.join("\r\n"); - range.text = selection_arr.join("\r\n"); - - var new_range = document.body.createTextRange(); - new_range.moveToElementText(o); - - if (0 < before_len) new_range.setEndPoint("StartToEnd", before_range); - else new_range.setEndPoint("StartToStart", before_range); - new_range.setEndPoint("EndToEnd", range); - - new_range.select(); - - } - } - } - -// end of closure -})(jQuery); diff --git a/.htaccess b/v1-v2/.htaccess similarity index 100% rename from .htaccess rename to v1-v2/.htaccess diff --git a/v1-v2/Python3-porting.txt b/v1-v2/Python3-porting.txt new file mode 100644 index 000000000..dca80e0fa --- /dev/null +++ b/v1-v2/Python3-porting.txt @@ -0,0 +1,101 @@ +See cgi-bin/p4_encoder.py for some proposed changes + +John DeNero's comments on 2012-07-23 +''' +Distinguishing whether +some x is a class or not in Python 3 should be performed via: + +isinstance(x, type) + +I don't think any sort of hack or repr comparison is required. +''' + + +Notes from Peter Wentworth about porting to Python 3 +''' +Hi Philip - a bug in the code I sent you [NB, see: python3_viz.zip]! I +really kludged how I tested for classes vs instances in the file +p3_encoder that I sent you. At line 77 of that file, I used str(dat) +to convert the object to a string, and then did some hackish substring +searching. But if the user provides a __str__ method in the class, it +gets called instead, leading to trouble. + +My quick hack was to change the str(dat) call to repr(dat) (which won't +dispatch to user-written methods), but it doesn't solve the key issue +that I have not taken proper care to cleanly categorize +types/objects/classes in Python 3. + +Peter + +-----Original Message----- +From: George Wells +Sent: 21 September 2011 03:47 PM +To: Peter Wentworth +Subject: Python visualiser + +Hi Peter + +I just tried a simple example of a class in the visualiser and it is +generating an error for some reason (the code runs fine in the +interpreter). It was working fine until I added the second method +(__str__). + +The code is: + +-----8<----- +class Point: + def __init__ (self, x=0, y=0): + self.x=x + self.y=y + def __str__ (self): + return '({0}, {1})'.format(self.x, self.y) + +pt=Point(3,4) +print(pt) +-----8<----- + +Cheers, +George. +''' + +''' +Hi Philip + +And my last bug report was even sloppy. I use str(dat) at three +different places in that file, so it needs to be refactored a little +before changing the str() to repr() +''' + +Regarding how to port to Python 3 ... +''' +HI Philip + +I don't have anything to recommend. My experience is that there are +very few (end-user) things that are quite widely talked about in various +forums. Key ones for me is that print is now a function; range is +inherently lazy (like P2 xrange used to be), strings are no longer +ascii – they are all Unicode, input takes on the semantics of P2 +rawinput, and some methods to iterate over dictionaries are different. + +In the context of the visualizer, changing Python 2 to Python 3 wasn't +particularly complicated, except for the class/instance hurdle. P3 has +a more unified class-based type system, immediately evident if you ask +type(123) -- it now returns . Classes are themselves +instances of some MetaClass, with a thing called 'type' at the top of +the hierarchy. ('type' is an instance of 'type') So there isn't +really an easy end-user way to ask "is this a class or an instance?" – +it is both at the same time! There is some library that can expose +detailed internal attributes of things, but I chose not to use that. +Rather, if you ask for repr(obj) it turns it into some external string +that always has the word 'instance' in it for instances! So I got repr +to do the internal inspection and I made the decision with some string +matching. + +One of the more interesting new features in Python 3 is a function +annotation mechanism. The compiler ignores annotations. The idea +seems to be "lets allow annotations and see what creative things the +third-party tools do with them". See +http://www.python.org/dev/peps/pep-3107/ where they use annotations for +type signatures etc. +''' + diff --git a/v1-v2/README b/v1-v2/README new file mode 100644 index 000000000..8726a706f --- /dev/null +++ b/v1-v2/README @@ -0,0 +1,148 @@ +Online Python Tutor +https://github.com/pgbovine/OnlinePythonTutor/ + +Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +====== +This directory contains the contents of Versions 1 and 2: + +Version 1 - Released on January 19, 2010 +Version 2 - Released on October 4, 2011 + +====== +Introduction: + +The Online Python Tutor is a web application where you can type Python +scripts directly into your web browser, execute those scripts, and +single-step FORWARDS AND BACKWARDS through execution in order to view +the run-time state of all data structures. + +Using this tool, teachers and students can write small Python code +snippets together and see what happens to the data structures when the +code gets executed. + +Try it out live at: http://www.onlinepythontutor.com/ + +====== +System architecture overview: + +The Online Python Tutor is implemented as a web application, with a +JavaScript front-end making AJAX calls to a pure-Python back-end. + +The back-end has been tested on an Apache server running Python 2.6 +through CGI. Note that it will probably fail in subtle ways on other +Python 2.X (and will DEFINITELY fail on Python 3.X). Peter Wentworth +has create a port to Python 3.X, and hopefully we can eventually +integrate his code into my repository. + + +The front-end is HTML/JavaScript (using the jQuery library). It's +responsible for the input text box, submitting the Python code (as +plaintext) to the back-end, receiving an execution trace from the +back-end, and then rendering that trace as data structure +visualizations. The front-end code resides in these files in the +current directory: + + tutor.html + question.html + edu-python.js + edu-python-tutor.js + edu-python-questions.js + edu-python.css + jquery.textarea.js + .htaccess - to increase the size of allowed Apache HTTP responses + + (there are also other 3rd-party JavaScript library files) + +Note on .htaccess: If your server limits the size of responses received +from HTTP requests, then you might need to use the following .htaccess +file included in your top-level (front-end) directory, to allow the +Online Python Tutor to receive traces from the back-end: + + + +# Set a ~2MB limit for response headers (bigger than default 512K limit) +SecResponseBodyLimit 2000000 + + + + +The back-end is a server-side CGI application that takes Python script +source code as input, executes the entire script (up to 200 executed +lines, to prevent infinite loops), and collects a full trace of all +variable values (i.e., data structures) after each line has been +executed. It then sends that full trace to the front-end in a +specially-encoded JSON format. The front-end then parses and visualizes +that trace and allows the user to single-step forwards AND backwards +through execution. + +The back-end resides in the cgi-bin/ sub-directory in this repository: + + cgi-bin/web_exec.py - the CGI entrance point to the back-end + cgi-bin/web_run_test.py - the CGI entrance point to the question + grading back-end + cgi-bin/pg_logger.py - the 'meat' of the back-end + cgi-bin/pg_encoder.py - encodes Python data into JSON + cgi-bin/create_db.py - for optional sqlite query logging + cgi-bin/db_common.py - for optional sqlite query logging + cgi-bin/.htaccess - for Apache CGI execute permissions + + +Due to the AJAX same-origin policy, the front-end and back-end must be +deployed on the same server (unless you do some fancy proxy magic). + + +====== +Original founding vision (from January 2010): + +I want to create a web-based interactive learning platform for students +to explore programming. I envision an HTML UI where a student can enter +in code and then single-step through it and see how the data structures +change during execution. + +Key insight: I realized that for the small programs that teachers and +students write for educational purposes, it's possible to simply LOG +everything that happens to data structures during execution. Then we +can simply play back that log in the front-end, which allows +single-stepping forwards and also BACKWARDS. + +After all, we don't need students to be able to interactive probe and +make changes in the middle of execution, which is the only value-added +of a REAL debugger. + +What kinds of things do we want to log? + + On the execution of each line, log: + - the line number just executed + - all data created by the program + + Also log calls and returns of a student's function + (but NOT library functions) + +We can use the Python JSON module to encode data structures in JSON and +send it to the client's web browser + +The PDB debugger (Lib/pdb.py) is written in pure Python: + http://docs.python.org/library/pdb.html + - the bdb debugger framework is the C module that pdb calls + http://docs.python.org/library/bdb.html + diff --git a/TODO b/v1-v2/TODO similarity index 100% rename from TODO rename to v1-v2/TODO diff --git a/alias-screenshot.png b/v1-v2/alias-screenshot.png similarity index 100% rename from alias-screenshot.png rename to v1-v2/alias-screenshot.png diff --git a/cgi-bin/.htaccess b/v1-v2/cgi-bin/.htaccess similarity index 100% rename from cgi-bin/.htaccess rename to v1-v2/cgi-bin/.htaccess diff --git a/cgi-bin/create_db.py b/v1-v2/cgi-bin/create_db.py similarity index 100% rename from cgi-bin/create_db.py rename to v1-v2/cgi-bin/create_db.py diff --git a/cgi-bin/db_common.py b/v1-v2/cgi-bin/db_common.py similarity index 100% rename from cgi-bin/db_common.py rename to v1-v2/cgi-bin/db_common.py diff --git a/cgi-bin/index.html b/v1-v2/cgi-bin/index.html similarity index 100% rename from cgi-bin/index.html rename to v1-v2/cgi-bin/index.html diff --git a/v1-v2/cgi-bin/load_question.py b/v1-v2/cgi-bin/load_question.py new file mode 100755 index 000000000..14d6522f8 --- /dev/null +++ b/v1-v2/cgi-bin/load_question.py @@ -0,0 +1,46 @@ +#!/usr/bin/python2.6 + +# Online Python Tutor +# https://github.com/pgbovine/OnlinePythonTutor/ +# +# Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +# Load a question file in the 'questions/' sub-directory, parse it, +# and return it to the caller in JSON format +QUESTIONS_DIR = '../questions/' + +from parse_questions import parseQuestionsFile + +import cgi, os, json + +form = cgi.FieldStorage() +question_file = form['question_file'].value + +fn = QUESTIONS_DIR + question_file + '.txt' +assert os.path.isfile(fn) + + +# Crucial first line to make sure that Apache serves this data +# correctly - DON'T FORGET THE EXTRA NEWLINES!!!: +print "Content-type: text/plain; charset=iso-8859-1\n\n" +print json.dumps(parseQuestionsFile(fn)) diff --git a/v1-v2/cgi-bin/p4_encoder.py b/v1-v2/cgi-bin/p4_encoder.py new file mode 100755 index 000000000..4c28ac3de --- /dev/null +++ b/v1-v2/cgi-bin/p4_encoder.py @@ -0,0 +1,192 @@ +#!/usr/bin/python3 -u + +# Python 3 version of encoder by David Pritchard, built upon work by Peter Wentworth +# (diff with pg_encoder.py, which is for Python 2) + + +# given an arbitrary piece of Python data, encode it in such a manner +# that it can be later encoded into JSON. +# http://json.org/ +# +# Format: +# * None, int, float, str, bool - unchanged (long is removed in Python 3) +# (json.dumps encodes these fine verbatim) +# * list - ['LIST', unique_id, elt1, elt2, elt3, ..., eltN] +# * tuple - ['TUPLE', unique_id, elt1, elt2, elt3, ..., eltN] +# * set - ['SET', unique_id, elt1, elt2, elt3, ..., eltN] +# * dict - ['DICT', unique_id, [key1, value1], [key2, value2], ..., [keyN, valueN]] +# * instance - ['INSTANCE', class name, unique_id, [attr1, value1], [attr2, value2], ..., [attrN, valueN]] +# * class - ['CLASS', class name, unique_id, [list of superclass names], [attr1, value1], [attr2, value2], ..., [attrN, valueN]] +# * circular reference - ['CIRCULAR_REF', unique_id] +# * other - [, unique_id, string representation of object] +# +# +# the unique_id is derived from id(), which allows us to explicitly +# capture aliasing of compound values + +# Key: real ID from id() +# Value: a small integer for greater readability, set by cur_small_id +real_to_small_IDs = {} +cur_small_id = 1 + +import re, types +#typeRE = re.compile("") # not used in Python 3 +classRE = re.compile("") +functionRE = re.compile("") # new case for Python 3 + +# When we find a and x is in this list, don't confuse the beginner by listing the inner details +native_types = ['int', 'float', 'str', 'tuple', 'list', 'set', 'dict', 'bool', 'NoneType', 'bytes', 'type', 'object'] + +def encode(dat, ignore_id=False): + + def append_attributes(ret, new_compound_obj_ids, dict): + """ Put attributes onto ret. """ + # traverse the __dict__ to grab attributes + # (filter out useless-seeming ones): + + user_attrs = sorted([e for e in dict.keys() + if e not in {'__doc__', '__module__', '__return__', '__locals__', + '__weakref__', '__dict__'} + ]) + for attr in user_attrs: + foo = [encode_helper(attr, new_compound_obj_ids), + encode_helper(dict[attr], new_compound_obj_ids)] + ret.append(foo) + + def encode_helper(dat, compound_obj_ids): + # primitive type + if dat is None or type(dat) in (int, float, str, bool): + return dat + # compound type + else: + my_id = id(dat) + + global cur_small_id + if my_id not in real_to_small_IDs: + if ignore_id: + real_to_small_IDs[my_id] = 99999 + else: + real_to_small_IDs[my_id] = cur_small_id + cur_small_id += 1 + + if my_id in compound_obj_ids: + return ['CIRCULAR_REF', real_to_small_IDs[my_id]] + + new_compound_obj_ids = compound_obj_ids.union([my_id]) + + typ = type(dat) + obj_as_string = object.__repr__(dat) + + my_small_id = real_to_small_IDs[my_id] + + if typ == list: + ret = ['LIST', my_small_id] + for e in dat: ret.append(encode_helper(e, new_compound_obj_ids)) + elif typ == tuple: + ret = ['TUPLE', my_small_id] + for e in dat: ret.append(encode_helper(e, new_compound_obj_ids)) + elif typ == set: + ret = ['SET', my_small_id] + for e in dat: ret.append(encode_helper(e, new_compound_obj_ids)) + elif typ == dict: + ret = ['DICT', my_small_id] + append_attributes(ret, new_compound_obj_ids, dat) + + elif typ == type: # its a class. What a mess they made of it! + superclass_names = [e.__name__ for e in dat.__bases__] + ret = ['CLASS', dat.__name__, my_small_id, superclass_names] + if dat.__name__ not in native_types: + if hasattr(dat, '__dict__'): + append_attributes(ret, new_compound_obj_ids, dat.__dict__) + + elif repr(typ)[:6] == "= 0: # is it an instance? + ret = ['INSTANCE', dat.__class__.__name__, my_small_id] + if hasattr(dat, '__dict__'): + append_attributes(ret, new_compound_obj_ids, dat.__dict__) + + else: + typeStr = repr(typ) + m = classRE.match(typeStr) + assert m, typ + ret = [m.group(1), my_small_id , obj_as_string] + + return ret + + return encode_helper(dat, set()) + + +if __name__ == '__main__': + + def test(actual, expected=0): + """ Compare the actual to the expected value, and print a suitable message. """ + import sys + linenum = sys._getframe(1).f_lineno # get the caller's line number. + if (expected == actual): + msg = "Test on line %s passed." % (linenum) + else: + msg = "Test on line %s failed. Expected '%s', but got '%s'." % (linenum, expected, actual) + print(msg) + + class P(): + p_attr1 = 123 + def p_method(self, x): + return 2*x + + class Q(P): + pass + + p1 = P() + q1 = Q() + + addr = 1 + + test(encode("hello"),"hello") + test(encode(123),123) + test(encode(123.45),123.45) + test(encode(132432134423143132432134423143),132432134423143132432134423143) + test(encode(False),False) + test(encode(None),None) + + + test(encode((1,2)), ['TUPLE', addr, 1, 2]) + + addr += 1 + test(encode([1,2]), ['LIST', addr, 1, 2]) + + addr += 1 + test(encode({1:'mon'}), ['DICT', addr, [1, 'mon']]) + + addr += 1 + test(encode(test), ['function', addr, 'test']) + + addr += 1 + test(encode(P), ['CLASS', 'P', addr, ['object'], ['p_attr1', 123], ['p_method', ['function', addr+1, 'p_method']]]) + + addr += 2 + test(encode(Q), ['CLASS', 'Q', addr, ['P']]) + + addr += 1 + test(encode(p1), ['INSTANCE', 'P', addr]) + + addr += 1 + test(encode(q1), ['INSTANCE', 'Q', addr]) + + addr += 1 + test(encode(min), ['builtin_function_or_method', addr, ''] ) + + addr += 1 + test(encode(range(1,3)), ['range', addr, 'range(1, 3)']) + + addr += 1 + test(encode({1,2}), ['SET', addr, 1, 2]) + + addr += 1 + p = [1,2,3] + p.append(p) # make a circular reference + + test(encode(p), ['LIST', addr, 1, 2, 3, ['CIRCULAR_REF', addr]]) + +# Need some new tests for z = type(123) + + + print(encode({"stdout": "", "func_name": "", "globals": {"sum": 0, "friends": ["LIST", 1, "Joe", "Bill"], "length": 3, "f": "Joe"}, "stack_locals": [], "line": 7, "event": "step_line"})) diff --git a/cgi-bin/parse_questions.py b/v1-v2/cgi-bin/parse_questions.py similarity index 65% rename from cgi-bin/parse_questions.py rename to v1-v2/cgi-bin/parse_questions.py index 5a3935f19..392ab43ae 100644 --- a/cgi-bin/parse_questions.py +++ b/v1-v2/cgi-bin/parse_questions.py @@ -1,19 +1,27 @@ # Online Python Tutor -# Copyright (C) 2010-2011 Philip J. Guo (philip@pgbovine.net) # https://github.com/pgbovine/OnlinePythonTutor/ # -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: # -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + # Defines a function that parses an Online Python Tutor 'questions file' # into a dict, which can easily be converted into JSON diff --git a/cgi-bin/pg_encoder.py b/v1-v2/cgi-bin/pg_encoder.py similarity index 77% rename from cgi-bin/pg_encoder.py rename to v1-v2/cgi-bin/pg_encoder.py index 2de1f97eb..01618dfe3 100644 --- a/cgi-bin/pg_encoder.py +++ b/v1-v2/cgi-bin/pg_encoder.py @@ -1,19 +1,26 @@ # Online Python Tutor -# Copyright (C) 2010-2011 Philip J. Guo (philip@pgbovine.net) # https://github.com/pgbovine/OnlinePythonTutor/ # -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: # -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # Given an arbitrary piece of Python data, encode it in such a manner diff --git a/cgi-bin/pg_logger.py b/v1-v2/cgi-bin/pg_logger.py similarity index 89% rename from cgi-bin/pg_logger.py rename to v1-v2/cgi-bin/pg_logger.py index 6c948af52..673c3dbf6 100644 --- a/cgi-bin/pg_logger.py +++ b/v1-v2/cgi-bin/pg_logger.py @@ -1,19 +1,26 @@ # Online Python Tutor -# Copyright (C) 2010-2011 Philip J. Guo (philip@pgbovine.net) # https://github.com/pgbovine/OnlinePythonTutor/ # -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: # -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # This is the meat of the Online Python Tutor back-end. It implements a @@ -21,7 +28,7 @@ # Python debugger imported via the bdb module), printing out the values # of all in-scope data structures after each executed instruction. -# Note that I've only tested this logger on Python 2.5, so it will +# Note that I've only tested this logger on Python 2.6, so it will # probably fail in subtle ways on other Python 2.X (and will DEFINITELY # fail on Python 3.X). diff --git a/cgi-bin/run_tests.py b/v1-v2/cgi-bin/run_tests.py similarity index 78% rename from cgi-bin/run_tests.py rename to v1-v2/cgi-bin/run_tests.py index 550815736..221bea85e 100644 --- a/cgi-bin/run_tests.py +++ b/v1-v2/cgi-bin/run_tests.py @@ -1,19 +1,26 @@ # Online Python Tutor -# Copyright (C) 2010-2011 Philip J. Guo (philip@pgbovine.net) # https://github.com/pgbovine/OnlinePythonTutor/ # -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: # -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # Regression tests for Online Python Tutor back-end @@ -23,7 +30,6 @@ import os, sys, re, shutil, filecmp, optparse, difflib import pg_logger -import demjson # all tests are found in this directory: @@ -35,7 +41,7 @@ def execute(test_script): def my_finalizer(output_lst): outfile = open(test_script[:-3] + '.out', 'w') - output_json = demjson.encode(output_lst, compactly=False) + output_json = json.dumps(output_lst) print >> outfile, output_json pg_logger.exec_script_str(open(test_script).read(), my_finalizer, True) diff --git a/cgi-bin/web_exec.py b/v1-v2/cgi-bin/web_exec.py similarity index 64% rename from cgi-bin/web_exec.py rename to v1-v2/cgi-bin/web_exec.py index 4df13f30c..9debc60ec 100755 --- a/cgi-bin/web_exec.py +++ b/v1-v2/cgi-bin/web_exec.py @@ -1,21 +1,28 @@ -#!/usr/bin/python2.5 +#!/usr/bin/python2.6 # Online Python Tutor -# Copyright (C) 2010-2011 Philip J. Guo (philip@pgbovine.net) # https://github.com/pgbovine/OnlinePythonTutor/ # -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: # -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # Executes the Online Python Tutor back-end as a CGI script, which @@ -24,8 +31,8 @@ # # Returns a complete JSON execution trace to the front-end. # -# This version uses Python 2.5 on the MIT CSAIL servers. -# (note that Python 2.4 doesn't work on CSAIL, but Python 2.5 does) +# This version uses Python 2.6 on the MIT CSAIL servers. +# (note that Python 2.4 doesn't work on CSAIL, but Python 2.6 does) # # If you want to run this script, then you'll need to change the # shebang line at the top of this file to point to your system's Python. @@ -43,9 +50,7 @@ import cgi import pg_logger -# Python 2.5 doesn't have a built-in json module, so I'm using a -# 3rd-party module. I think you can do 'import json' in Python >= 2.6 -import demjson +import json if LOG_QUERIES: import os, time, db_common @@ -53,7 +58,7 @@ def web_finalizer(output_lst): # use compactly=False to produce human-readable JSON, # except at the expense of being a LARGER download - output_json = demjson.encode(output_lst, compactly=True) + output_json = json.dumps(output_lst) # query logging is optional if LOG_QUERIES: diff --git a/cgi-bin/web_run_test.py b/v1-v2/cgi-bin/web_run_test.py similarity index 77% rename from cgi-bin/web_run_test.py rename to v1-v2/cgi-bin/web_run_test.py index c0ae45605..abe4592a6 100755 --- a/cgi-bin/web_run_test.py +++ b/v1-v2/cgi-bin/web_run_test.py @@ -1,21 +1,28 @@ -#!/usr/bin/python2.5 +#!/usr/bin/python2.6 # Online Python Tutor -# Copyright (C) 2010-2011 Philip J. Guo (philip@pgbovine.net) # https://github.com/pgbovine/OnlinePythonTutor/ # -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: # -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # Runs both 'user_script' and 'expect_script' and returns whether the @@ -26,9 +33,7 @@ import cgi import pg_logger -# Python 2.5 doesn't have a built-in json module, so I'm using a -# 3rd-party module. I think you can do 'import json' in Python >= 2.6 -import demjson +import json user_trace = None # the FULL user trace (without any IDs, though) expect_trace_final_entry = None @@ -60,7 +65,7 @@ def expect_script_finalizer(output_lst): # Crucial first line to make sure that Apache serves this data # correctly - DON'T FORGET THE EXTRA NEWLINES!!!: print "Content-type: text/plain; charset=iso-8859-1\n\n" - output_json = demjson.encode(ret, compactly=True) + output_json = json.dumps(ret) print output_json else: @@ -122,7 +127,7 @@ def really_finalize(): # Crucial first line to make sure that Apache serves this data # correctly - DON'T FORGET THE EXTRA NEWLINES!!!: print "Content-type: text/plain; charset=iso-8859-1\n\n" - output_json = demjson.encode(ret, compactly=True) + output_json = json.dumps(ret) print output_json diff --git a/edu-python-questions.js b/v1-v2/edu-python-questions.js similarity index 90% rename from edu-python-questions.js rename to v1-v2/edu-python-questions.js index dab19bd6d..7c1933a21 100644 --- a/edu-python-questions.js +++ b/v1-v2/edu-python-questions.js @@ -1,21 +1,28 @@ /* Online Python Tutor -Copyright (C) 2010-2011 Philip J. Guo (philip@pgbovine.net) https://github.com/pgbovine/OnlinePythonTutor/ -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. +Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -You should have received a copy of the GNU General Public License -along with this program. If not, see . +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ @@ -52,8 +59,9 @@ function resetTestResults() { $(document).ready(function() { eduPythonCommonInit(); // must call this first! - $("#actualCodeInput").tabby(); // recognize TAB and SHIFT-TAB - $("#testCodeInput").tabby(); // recognize TAB and SHIFT-TAB + // this doesn't work since we need jquery.textarea.js ... + //$("#actualCodeInput").tabby(); // recognize TAB and SHIFT-TAB + //$("#testCodeInput").tabby(); // recognize TAB and SHIFT-TAB // be friendly to the browser's forward and back buttons diff --git a/edu-python-title.css b/v1-v2/edu-python-title.css similarity index 61% rename from edu-python-title.css rename to v1-v2/edu-python-title.css index 55cb13448..9081041b8 100644 --- a/edu-python-title.css +++ b/v1-v2/edu-python-title.css @@ -1,21 +1,28 @@ /* Online Python Tutor -Copyright (C) 2010-2011 Philip J. Guo (philip@pgbovine.net) https://github.com/pgbovine/OnlinePythonTutor/ -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . +Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ diff --git a/edu-python-tutor.js b/v1-v2/edu-python-tutor.js similarity index 82% rename from edu-python-tutor.js rename to v1-v2/edu-python-tutor.js index 7905c3d57..7793f7818 100644 --- a/edu-python-tutor.js +++ b/v1-v2/edu-python-tutor.js @@ -1,21 +1,28 @@ /* Online Python Tutor -Copyright (C) 2010-2011 Philip J. Guo (philip@pgbovine.net) https://github.com/pgbovine/OnlinePythonTutor/ -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. +Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -You should have received a copy of the GNU General Public License -along with this program. If not, see . +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ @@ -40,7 +47,8 @@ function enterVisualizeMode(traceData) { $(document).ready(function() { eduPythonCommonInit(); // must call this first! - $("#pyInput").tabby(); // recognize TAB and SHIFT-TAB + // this doesn't work since we need jquery.textarea.js ... + //$("#pyInput").tabby(); // recognize TAB and SHIFT-TAB // be friendly to the browser's forward and back buttons diff --git a/edu-python.css b/v1-v2/edu-python.css similarity index 90% rename from edu-python.css rename to v1-v2/edu-python.css index 5124fdf52..21d2ea64f 100644 --- a/edu-python.css +++ b/v1-v2/edu-python.css @@ -1,21 +1,28 @@ /* Online Python Tutor -Copyright (C) 2010-2011 Philip J. Guo (philip@pgbovine.net) https://github.com/pgbovine/OnlinePythonTutor/ -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . +Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ diff --git a/edu-python.js b/v1-v2/edu-python.js similarity index 97% rename from edu-python.js rename to v1-v2/edu-python.js index ee837e864..c5e2edaec 100644 --- a/edu-python.js +++ b/v1-v2/edu-python.js @@ -1,21 +1,28 @@ /* Online Python Tutor -Copyright (C) 2010-2011 Philip J. Guo (philip@pgbovine.net) https://github.com/pgbovine/OnlinePythonTutor/ -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . +Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ diff --git a/v1-v2/example-code b/v1-v2/example-code new file mode 120000 index 000000000..c24e6a160 --- /dev/null +++ b/v1-v2/example-code @@ -0,0 +1 @@ +../v3/example-code \ No newline at end of file diff --git a/grading-375.png b/v1-v2/grading-375.png similarity index 100% rename from grading-375.png rename to v1-v2/grading-375.png diff --git a/hunt-mcilroy.js b/v1-v2/hunt-mcilroy.js similarity index 100% rename from hunt-mcilroy.js rename to v1-v2/hunt-mcilroy.js diff --git a/index.html b/v1-v2/index.html similarity index 81% rename from index.html rename to v1-v2/index.html index c7694a825..4952d4d48 100644 --- a/index.html +++ b/v1-v2/index.html @@ -4,21 +4,28 @@ @@ -201,7 +208,7 @@

new practice problems in plain text format

diff --git a/jquery-1.3.2.min.js b/v1-v2/jquery-1.3.2.min.js similarity index 100% rename from jquery-1.3.2.min.js rename to v1-v2/jquery-1.3.2.min.js diff --git a/jquery.autogrow.js b/v1-v2/jquery.autogrow.js similarity index 100% rename from jquery.autogrow.js rename to v1-v2/jquery.autogrow.js diff --git a/jquery.ba-bbq.min.js b/v1-v2/jquery.ba-bbq.min.js similarity index 100% rename from jquery.ba-bbq.min.js rename to v1-v2/jquery.ba-bbq.min.js diff --git a/jquery.corner.js b/v1-v2/jquery.corner.js similarity index 100% rename from jquery.corner.js rename to v1-v2/jquery.corner.js diff --git a/jquery.jsPlumb-1.3.3-all-min.js b/v1-v2/jquery.jsPlumb-1.3.3-all-min.js similarity index 100% rename from jquery.jsPlumb-1.3.3-all-min.js rename to v1-v2/jquery.jsPlumb-1.3.3-all-min.js diff --git a/jquery.min.js b/v1-v2/jquery.min.js similarity index 100% rename from jquery.min.js rename to v1-v2/jquery.min.js diff --git a/jsplumb-test.js b/v1-v2/jsplumb-test.js similarity index 100% rename from jsplumb-test.js rename to v1-v2/jsplumb-test.js diff --git a/mock-data.js b/v1-v2/mock-data.js similarity index 100% rename from mock-data.js rename to v1-v2/mock-data.js diff --git a/question.html b/v1-v2/question.html similarity index 78% rename from question.html rename to v1-v2/question.html index 6ea6ea4d2..a60214513 100644 --- a/question.html +++ b/v1-v2/question.html @@ -4,21 +4,28 @@ @@ -40,8 +47,6 @@ - - @@ -195,7 +200,7 @@

This application supports the core Python 2.5 language, with no +href="http://docs.python.org/release/2.6/">Python 2.6 language, with no module imports or file I/O. It's meant to be used as a platform for creating programming tutorials, not for running or debugging production code. @@ -206,7 +211,7 @@ repository and send bug reports, feedback, and suggestions to philip@pgbovine.net

-Copyright © 2010-2011 Philip Guo. All rights reserved. +Copyright © 2010-2012 Philip Guo. All rights reserved. diff --git a/questions/debug-bsearch.txt b/v1-v2/questions/debug-bsearch.txt similarity index 100% rename from questions/debug-bsearch.txt rename to v1-v2/questions/debug-bsearch.txt diff --git a/questions/debug-ireverse.txt b/v1-v2/questions/debug-ireverse.txt similarity index 100% rename from questions/debug-ireverse.txt rename to v1-v2/questions/debug-ireverse.txt diff --git a/questions/debug-mergesort.txt b/v1-v2/questions/debug-mergesort.txt similarity index 100% rename from questions/debug-mergesort.txt rename to v1-v2/questions/debug-mergesort.txt diff --git a/questions/optimize-find-dups.txt b/v1-v2/questions/optimize-find-dups.txt similarity index 100% rename from questions/optimize-find-dups.txt rename to v1-v2/questions/optimize-find-dups.txt diff --git a/questions/optimize-search.txt b/v1-v2/questions/optimize-search.txt similarity index 100% rename from questions/optimize-search.txt rename to v1-v2/questions/optimize-search.txt diff --git a/questions/optimize-sum.txt b/v1-v2/questions/optimize-sum.txt similarity index 100% rename from questions/optimize-sum.txt rename to v1-v2/questions/optimize-sum.txt diff --git a/questions/remove-dups.txt b/v1-v2/questions/remove-dups.txt similarity index 100% rename from questions/remove-dups.txt rename to v1-v2/questions/remove-dups.txt diff --git a/questions/reverse.txt b/v1-v2/questions/reverse.txt similarity index 100% rename from questions/reverse.txt rename to v1-v2/questions/reverse.txt diff --git a/questions/two-sum.txt b/v1-v2/questions/two-sum.txt similarity index 100% rename from questions/two-sum.txt rename to v1-v2/questions/two-sum.txt diff --git a/red-sad-face.jpg b/v1-v2/red-sad-face.jpg similarity index 100% rename from red-sad-face.jpg rename to v1-v2/red-sad-face.jpg diff --git a/test-programs/caught_exception_1.golden b/v1-v2/test-programs/caught_exception_1.golden similarity index 100% rename from test-programs/caught_exception_1.golden rename to v1-v2/test-programs/caught_exception_1.golden diff --git a/test-programs/caught_exception_1.py b/v1-v2/test-programs/caught_exception_1.py similarity index 100% rename from test-programs/caught_exception_1.py rename to v1-v2/test-programs/caught_exception_1.py diff --git a/test-programs/caught_exception_2.golden b/v1-v2/test-programs/caught_exception_2.golden similarity index 100% rename from test-programs/caught_exception_2.golden rename to v1-v2/test-programs/caught_exception_2.golden diff --git a/test-programs/caught_exception_2.py b/v1-v2/test-programs/caught_exception_2.py similarity index 100% rename from test-programs/caught_exception_2.py rename to v1-v2/test-programs/caught_exception_2.py diff --git a/test-programs/circ_ref.golden b/v1-v2/test-programs/circ_ref.golden similarity index 100% rename from test-programs/circ_ref.golden rename to v1-v2/test-programs/circ_ref.golden diff --git a/test-programs/circ_ref.py b/v1-v2/test-programs/circ_ref.py similarity index 100% rename from test-programs/circ_ref.py rename to v1-v2/test-programs/circ_ref.py diff --git a/test-programs/circ_ref_2.golden b/v1-v2/test-programs/circ_ref_2.golden similarity index 100% rename from test-programs/circ_ref_2.golden rename to v1-v2/test-programs/circ_ref_2.golden diff --git a/test-programs/circ_ref_2.py b/v1-v2/test-programs/circ_ref_2.py similarity index 100% rename from test-programs/circ_ref_2.py rename to v1-v2/test-programs/circ_ref_2.py diff --git a/test-programs/circ_ref_fake.golden b/v1-v2/test-programs/circ_ref_fake.golden similarity index 100% rename from test-programs/circ_ref_fake.golden rename to v1-v2/test-programs/circ_ref_fake.golden diff --git a/test-programs/circ_ref_fake.py b/v1-v2/test-programs/circ_ref_fake.py similarity index 100% rename from test-programs/circ_ref_fake.py rename to v1-v2/test-programs/circ_ref_fake.py diff --git a/test-programs/class_test.golden b/v1-v2/test-programs/class_test.golden similarity index 100% rename from test-programs/class_test.golden rename to v1-v2/test-programs/class_test.golden diff --git a/test-programs/class_test.py b/v1-v2/test-programs/class_test.py similarity index 100% rename from test-programs/class_test.py rename to v1-v2/test-programs/class_test.py diff --git a/test-programs/class_test_2.golden b/v1-v2/test-programs/class_test_2.golden similarity index 100% rename from test-programs/class_test_2.golden rename to v1-v2/test-programs/class_test_2.golden diff --git a/test-programs/class_test_2.py b/v1-v2/test-programs/class_test_2.py similarity index 100% rename from test-programs/class_test_2.py rename to v1-v2/test-programs/class_test_2.py diff --git a/test-programs/class_test_3.golden b/v1-v2/test-programs/class_test_3.golden similarity index 100% rename from test-programs/class_test_3.golden rename to v1-v2/test-programs/class_test_3.golden diff --git a/test-programs/class_test_3.py b/v1-v2/test-programs/class_test_3.py similarity index 100% rename from test-programs/class_test_3.py rename to v1-v2/test-programs/class_test_3.py diff --git a/test-programs/data_test.golden b/v1-v2/test-programs/data_test.golden similarity index 100% rename from test-programs/data_test.golden rename to v1-v2/test-programs/data_test.golden diff --git a/test-programs/data_test.py b/v1-v2/test-programs/data_test.py similarity index 100% rename from test-programs/data_test.py rename to v1-v2/test-programs/data_test.py diff --git a/test-programs/dict_error.golden b/v1-v2/test-programs/dict_error.golden similarity index 100% rename from test-programs/dict_error.golden rename to v1-v2/test-programs/dict_error.golden diff --git a/test-programs/dict_error.py b/v1-v2/test-programs/dict_error.py similarity index 100% rename from test-programs/dict_error.py rename to v1-v2/test-programs/dict_error.py diff --git a/test-programs/dict_test.golden b/v1-v2/test-programs/dict_test.golden similarity index 100% rename from test-programs/dict_test.golden rename to v1-v2/test-programs/dict_test.golden diff --git a/test-programs/dict_test.py b/v1-v2/test-programs/dict_test.py similarity index 100% rename from test-programs/dict_test.py rename to v1-v2/test-programs/dict_test.py diff --git a/test-programs/exec_test.golden b/v1-v2/test-programs/exec_test.golden similarity index 100% rename from test-programs/exec_test.golden rename to v1-v2/test-programs/exec_test.golden diff --git a/test-programs/exec_test.py b/v1-v2/test-programs/exec_test.py similarity index 100% rename from test-programs/exec_test.py rename to v1-v2/test-programs/exec_test.py diff --git a/test-programs/func_exception.golden b/v1-v2/test-programs/func_exception.golden similarity index 100% rename from test-programs/func_exception.golden rename to v1-v2/test-programs/func_exception.golden diff --git a/test-programs/func_exception.py b/v1-v2/test-programs/func_exception.py similarity index 100% rename from test-programs/func_exception.py rename to v1-v2/test-programs/func_exception.py diff --git a/test-programs/generator_test.golden b/v1-v2/test-programs/generator_test.golden similarity index 100% rename from test-programs/generator_test.golden rename to v1-v2/test-programs/generator_test.golden diff --git a/test-programs/generator_test.py b/v1-v2/test-programs/generator_test.py similarity index 100% rename from test-programs/generator_test.py rename to v1-v2/test-programs/generator_test.py diff --git a/test-programs/import_error.golden b/v1-v2/test-programs/import_error.golden similarity index 100% rename from test-programs/import_error.golden rename to v1-v2/test-programs/import_error.golden diff --git a/test-programs/import_error.py b/v1-v2/test-programs/import_error.py similarity index 100% rename from test-programs/import_error.py rename to v1-v2/test-programs/import_error.py diff --git a/test-programs/infinite_loop.golden b/v1-v2/test-programs/infinite_loop.golden similarity index 100% rename from test-programs/infinite_loop.golden rename to v1-v2/test-programs/infinite_loop.golden diff --git a/test-programs/infinite_loop.py b/v1-v2/test-programs/infinite_loop.py similarity index 100% rename from test-programs/infinite_loop.py rename to v1-v2/test-programs/infinite_loop.py diff --git a/test-programs/infinite_loop_one_liner.golden b/v1-v2/test-programs/infinite_loop_one_liner.golden similarity index 100% rename from test-programs/infinite_loop_one_liner.golden rename to v1-v2/test-programs/infinite_loop_one_liner.golden diff --git a/test-programs/infinite_loop_one_liner.py b/v1-v2/test-programs/infinite_loop_one_liner.py similarity index 100% rename from test-programs/infinite_loop_one_liner.py rename to v1-v2/test-programs/infinite_loop_one_liner.py diff --git a/test-programs/lambda_1.golden b/v1-v2/test-programs/lambda_1.golden similarity index 100% rename from test-programs/lambda_1.golden rename to v1-v2/test-programs/lambda_1.golden diff --git a/test-programs/lambda_1.py b/v1-v2/test-programs/lambda_1.py similarity index 100% rename from test-programs/lambda_1.py rename to v1-v2/test-programs/lambda_1.py diff --git a/test-programs/list_dict_test.golden b/v1-v2/test-programs/list_dict_test.golden similarity index 100% rename from test-programs/list_dict_test.golden rename to v1-v2/test-programs/list_dict_test.golden diff --git a/test-programs/list_dict_test.py b/v1-v2/test-programs/list_dict_test.py similarity index 100% rename from test-programs/list_dict_test.py rename to v1-v2/test-programs/list_dict_test.py diff --git a/test-programs/list_test.golden b/v1-v2/test-programs/list_test.golden similarity index 100% rename from test-programs/list_test.golden rename to v1-v2/test-programs/list_test.golden diff --git a/test-programs/list_test.py b/v1-v2/test-programs/list_test.py similarity index 100% rename from test-programs/list_test.py rename to v1-v2/test-programs/list_test.py diff --git a/test-programs/newstyle_class.golden b/v1-v2/test-programs/newstyle_class.golden similarity index 100% rename from test-programs/newstyle_class.golden rename to v1-v2/test-programs/newstyle_class.golden diff --git a/test-programs/newstyle_class.py b/v1-v2/test-programs/newstyle_class.py similarity index 100% rename from test-programs/newstyle_class.py rename to v1-v2/test-programs/newstyle_class.py diff --git a/test-programs/one_func.golden b/v1-v2/test-programs/one_func.golden similarity index 100% rename from test-programs/one_func.golden rename to v1-v2/test-programs/one_func.golden diff --git a/test-programs/one_func.py b/v1-v2/test-programs/one_func.py similarity index 100% rename from test-programs/one_func.py rename to v1-v2/test-programs/one_func.py diff --git a/test-programs/open_error.golden b/v1-v2/test-programs/open_error.golden similarity index 100% rename from test-programs/open_error.golden rename to v1-v2/test-programs/open_error.golden diff --git a/test-programs/open_error.py b/v1-v2/test-programs/open_error.py similarity index 100% rename from test-programs/open_error.py rename to v1-v2/test-programs/open_error.py diff --git a/test-programs/parse_error.golden b/v1-v2/test-programs/parse_error.golden similarity index 100% rename from test-programs/parse_error.golden rename to v1-v2/test-programs/parse_error.golden diff --git a/test-programs/parse_error.py b/v1-v2/test-programs/parse_error.py similarity index 100% rename from test-programs/parse_error.py rename to v1-v2/test-programs/parse_error.py diff --git a/test-programs/parse_error_2.golden b/v1-v2/test-programs/parse_error_2.golden similarity index 100% rename from test-programs/parse_error_2.golden rename to v1-v2/test-programs/parse_error_2.golden diff --git a/test-programs/parse_error_2.py b/v1-v2/test-programs/parse_error_2.py similarity index 100% rename from test-programs/parse_error_2.py rename to v1-v2/test-programs/parse_error_2.py diff --git a/test-programs/parse_error_3.golden b/v1-v2/test-programs/parse_error_3.golden similarity index 100% rename from test-programs/parse_error_3.golden rename to v1-v2/test-programs/parse_error_3.golden diff --git a/test-programs/parse_error_3.py b/v1-v2/test-programs/parse_error_3.py similarity index 100% rename from test-programs/parse_error_3.py rename to v1-v2/test-programs/parse_error_3.py diff --git a/test-programs/print_builtins_error.golden b/v1-v2/test-programs/print_builtins_error.golden similarity index 100% rename from test-programs/print_builtins_error.golden rename to v1-v2/test-programs/print_builtins_error.golden diff --git a/test-programs/print_builtins_error.py b/v1-v2/test-programs/print_builtins_error.py similarity index 100% rename from test-programs/print_builtins_error.py rename to v1-v2/test-programs/print_builtins_error.py diff --git a/test-programs/runtime_error.golden b/v1-v2/test-programs/runtime_error.golden similarity index 100% rename from test-programs/runtime_error.golden rename to v1-v2/test-programs/runtime_error.golden diff --git a/test-programs/runtime_error.py b/v1-v2/test-programs/runtime_error.py similarity index 100% rename from test-programs/runtime_error.py rename to v1-v2/test-programs/runtime_error.py diff --git a/test-programs/set_test.golden b/v1-v2/test-programs/set_test.golden similarity index 100% rename from test-programs/set_test.golden rename to v1-v2/test-programs/set_test.golden diff --git a/test-programs/set_test.py b/v1-v2/test-programs/set_test.py similarity index 100% rename from test-programs/set_test.py rename to v1-v2/test-programs/set_test.py diff --git a/test-programs/simple.golden b/v1-v2/test-programs/simple.golden similarity index 100% rename from test-programs/simple.golden rename to v1-v2/test-programs/simple.golden diff --git a/test-programs/simple.py b/v1-v2/test-programs/simple.py similarity index 100% rename from test-programs/simple.py rename to v1-v2/test-programs/simple.py diff --git a/test-programs/three_lists.golden b/v1-v2/test-programs/three_lists.golden similarity index 100% rename from test-programs/three_lists.golden rename to v1-v2/test-programs/three_lists.golden diff --git a/test-programs/three_lists.py b/v1-v2/test-programs/three_lists.py similarity index 100% rename from test-programs/three_lists.py rename to v1-v2/test-programs/three_lists.py diff --git a/test-programs/tuple_test.golden b/v1-v2/test-programs/tuple_test.golden similarity index 100% rename from test-programs/tuple_test.golden rename to v1-v2/test-programs/tuple_test.golden diff --git a/test-programs/tuple_test.py b/v1-v2/test-programs/tuple_test.py similarity index 100% rename from test-programs/tuple_test.py rename to v1-v2/test-programs/tuple_test.py diff --git a/test-programs/two_funcs.golden b/v1-v2/test-programs/two_funcs.golden similarity index 100% rename from test-programs/two_funcs.golden rename to v1-v2/test-programs/two_funcs.golden diff --git a/test-programs/two_funcs.py b/v1-v2/test-programs/two_funcs.py similarity index 100% rename from test-programs/two_funcs.py rename to v1-v2/test-programs/two_funcs.py diff --git a/tutor.html b/v1-v2/tutor.html similarity index 76% rename from tutor.html rename to v1-v2/tutor.html index eaa8c4913..6a39233d0 100644 --- a/tutor.html +++ b/v1-v2/tutor.html @@ -4,21 +4,28 @@ @@ -45,8 +52,6 @@ - - @@ -109,7 +114,7 @@

-Then try some programming questions:
+Then try some sample programming questions:
Solve: Two-sum | Reverse list | @@ -190,15 +195,15 @@

This application supports the core Python 2.5 language, with no +href="http://docs.python.org/release/2.6/">Python 2.6 language, with no module imports or file I/O. It's meant to be used as a platform for creating programming tutorials, not for running or debugging production code.

Official Python 3 support is coming soon; -for now, try the Python 3 fork by -Peter Wentworth. +for now, try the Python 3 forks by CS Circles and +Peter Wentworth.

Check out the -Copyright © 2010-2011 Philip Guo. All rights reserved. +Copyright © 2010-2012 Philip Guo. All rights reserved. - diff --git a/tutorials/MIT-6.01/README b/v1-v2/tutorials/MIT-6.01/README similarity index 100% rename from tutorials/MIT-6.01/README rename to v1-v2/tutorials/MIT-6.01/README diff --git a/tutorials/MIT-6.01/map.py b/v1-v2/tutorials/MIT-6.01/map.py similarity index 100% rename from tutorials/MIT-6.01/map.py rename to v1-v2/tutorials/MIT-6.01/map.py diff --git a/tutorials/MIT-6.01/oop_1.py b/v1-v2/tutorials/MIT-6.01/oop_1.py similarity index 100% rename from tutorials/MIT-6.01/oop_1.py rename to v1-v2/tutorials/MIT-6.01/oop_1.py diff --git a/tutorials/MIT-6.01/oop_2.py b/v1-v2/tutorials/MIT-6.01/oop_2.py similarity index 100% rename from tutorials/MIT-6.01/oop_2.py rename to v1-v2/tutorials/MIT-6.01/oop_2.py diff --git a/tutorials/MIT-6.01/oop_3.py b/v1-v2/tutorials/MIT-6.01/oop_3.py similarity index 100% rename from tutorials/MIT-6.01/oop_3.py rename to v1-v2/tutorials/MIT-6.01/oop_3.py diff --git a/tutorials/MIT-6.01/summation.py b/v1-v2/tutorials/MIT-6.01/summation.py similarity index 100% rename from tutorials/MIT-6.01/summation.py rename to v1-v2/tutorials/MIT-6.01/summation.py diff --git a/tutorials/README b/v1-v2/tutorials/README similarity index 100% rename from tutorials/README rename to v1-v2/tutorials/README diff --git a/tutorials/advanced/map.py b/v1-v2/tutorials/advanced/map.py similarity index 100% rename from tutorials/advanced/map.py rename to v1-v2/tutorials/advanced/map.py diff --git a/tutorials/math/newton.py b/v1-v2/tutorials/math/newton.py similarity index 100% rename from tutorials/math/newton.py rename to v1-v2/tutorials/math/newton.py diff --git a/tutorials/oop/oop_demo.py b/v1-v2/tutorials/oop/oop_demo.py similarity index 100% rename from tutorials/oop/oop_demo.py rename to v1-v2/tutorials/oop/oop_demo.py diff --git a/tutorials/personal-finance/compound_interest.py b/v1-v2/tutorials/personal-finance/compound_interest.py similarity index 100% rename from tutorials/personal-finance/compound_interest.py rename to v1-v2/tutorials/personal-finance/compound_interest.py diff --git a/yellow-happy-face.png b/v1-v2/yellow-happy-face.png similarity index 100% rename from yellow-happy-face.png rename to v1-v2/yellow-happy-face.png diff --git a/v3/README b/v3/README new file mode 100644 index 000000000..1fd36b8f4 --- /dev/null +++ b/v3/README @@ -0,0 +1,7 @@ +This is the latest version of Online Python Tutor + +Thanks to John DeNero, this version works on both Python 2 and 3. + +All documentation is viewable online at: + https://github.com/pgbovine/OnlinePythonTutor/tree/master/v3/docs + diff --git a/v3/app.yaml b/v3/app.yaml new file mode 100644 index 000000000..715e87541 --- /dev/null +++ b/v3/app.yaml @@ -0,0 +1,26 @@ +application: google.com:pythontutor +version: 1 +runtime: python27 +api_version: 1 +threadsafe: false + +libraries: +- name: jinja2 + version: latest + +handlers: +- url: /js + static_dir: js + +- url: /css + static_dir: css + +- url: /example-code + static_dir: example-code + +- url: /lessons + static_dir: lessons + +- url: /.* + script: pythontutor.app + diff --git a/v3/commentary-bubbles-demo.css b/v3/commentary-bubbles-demo.css new file mode 100644 index 000000000..75ceea3ab --- /dev/null +++ b/v3/commentary-bubbles-demo.css @@ -0,0 +1,168 @@ +body { + background-color: white; + + font-family: verdana, arial, helvetica, sans-serif; + + font-size: 10pt; + + margin-top: 30px; + margin-left: 30px; + + /* center align */ + /* + max-width: 1000px; + margin-left: auto; + margin-right: auto; + */ +} + + +div#lessonHeader { + margin-bottom: 10px; + padding-bottom: 10px; + border-bottom: 1px solid #ccc; + width: 800px; +} + +div#lessonTitle { + font-size: 16pt; + margin-bottom: 15pt; +} + +div#lessonDescription { + font-size: 11pt; + line-height: 1.5em; +} + +div#curStepNarration { + font-size: 11pt; + min-height: 60px; + margin-bottom: 12px; + line-height: 1.5em; + width: 800px; +} + + +/* For styling tricks, see: http://css-tricks.com/textarea-tricks/ */ +textarea.bubbleInputText { + border: 1px solid #ccc; + outline: none; + overflow: auto; /* to look pretty on IE */ + + /* make sure textarea doesn't grow and stretch the enclosing bubble */ + resize: none; + width: 225px; + max-width: 225px; + height: 35px; + max-height: 35px; +} + + +.ui-tooltip-pgbootstrap, +textarea.bubbleInputText { + font-family: verdana, arial, helvetica, sans-serif; + font-size: 9pt; + line-height: 1.3em; +} + + +/* modified version of Twitter bootstrap style by Philip Guo */ +.ui-tooltip-pgbootstrap{ + color: #333; + background-color: #ffffff; + + max-width: 250px; + min-width: 10px; + + border: 2px solid #4284D3; + + cursor: pointer; + + *border-right-width: 2px; + *border-bottom-width: 2px; + + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + + /* way too poofy ... + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + */ + + -webkit-box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2); + box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2); + + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + + .ui-tooltip-pgbootstrap .ui-tooltip-titlebar{ + font-size: 18px; + line-height: 22px; + + border-bottom: 1px solid #ccc; + background-color: transparent; + } + + .ui-tooltip-pgbootstrap .ui-tooltip-content{ + padding: 5px /* 5px is minimum or else it might look ugly */ 8px; + } + + + .ui-tooltip-pgbootstrap .ui-tooltip-titlebar .ui-state-default{ + right: 9px; top: 49%; + border-style: none; + } + + .ui-tooltip-pgbootstrap .ui-tooltip-icon{ + background: white; + } + + .ui-tooltip-pgbootstrap .ui-tooltip-icon .ui-icon{ + width: auto; + height: auto; + float: right; + font-size: 20px; + font-weight: bold; + line-height: 18px; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); + } + + .ui-tooltip-pgbootstrap .ui-tooltip-icon .ui-icon:hover{ + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.4; + filter: alpha(opacity=40); + } + + +/* Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */ +.ui-tooltip-pgbootstrap{ + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + + +.ui-tooltip-pgbootstrap-stub{ + border: 1px solid #999; + + /* + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + */ +} + + .ui-tooltip-pgbootstrap-stub .ui-tooltip-content{ + padding: 6px 9px; + } + diff --git a/v3/commentary-bubbles-demo.html b/v3/commentary-bubbles-demo.html new file mode 100644 index 000000000..dc650cbb8 --- /dev/null +++ b/v3/commentary-bubbles-demo.html @@ -0,0 +1,52 @@ + + + + + Online Python Tutor commentary bubbles demo + + + + + + + + + + + + + + + + + + + + + + + + + + +

+
Linked List Recursion Example
+
This code shows a function that sums up + the elements of a linked list using recursion.
+
+ +
At the current step, the program is about to +return from the base case of the recursion, which returns 0 to its +caller. +
+ +

+ + + + +
1def listSum(numbers):
2  if not numbers:
3    return 0
4  else:
5    (f, rest) = numbers
6    return f + listSum(rest)
7
8myList = (1, (2, (3, None)))
9total = listSum(myList)
Step 15 of 18
line that has just executed

next line to execute

Program output:
Frames
Global variables
listSum
 
myList
 
listSum
numbers
 
f1
rest
 
listSum
numbers
 
f2
rest
 
listSum
numbers
 
f3
restNone
listSum
numbersNone
Return
value
0
Objects
function listSum(numbers)
tuple
01
1
 
tuple
01
2
 
tuple
01
3None
+ + + diff --git a/v3/commentary-bubbles-demo.js b/v3/commentary-bubbles-demo.js new file mode 100644 index 000000000..edace49e0 --- /dev/null +++ b/v3/commentary-bubbles-demo.js @@ -0,0 +1,418 @@ +// Run: +// python generate_json_trace.py --create_jsvar=listSumTrace tests/backend-tests/list_sum.txt +// and copy-and-paste the output line into here: +var listSumTrace = {"code": "def listSum(numbers):\n if not numbers:\n return 0\n else:\n (f, rest) = numbers\n return f + listSum(rest)\n\nmyList = (1, (2, (3, None)))\ntotal = listSum(myList)\n", "trace": [{"ordered_globals": [], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {}, "heap": {}, "line": 1, "event": "step_line"}, {"ordered_globals": ["listSum"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null]}, "line": 8, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 9, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 1, "event": "call"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 2, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 1, "event": "call"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 2, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 1, "event": "call"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 2, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 4, "encoded_locals": {"numbers": null}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f4", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 1, "event": "call"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 4, "encoded_locals": {"numbers": null}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f4", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 2, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 4, "encoded_locals": {"numbers": null}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f4", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 3, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 4, "encoded_locals": {"__return__": 0, "numbers": null}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f4", "ordered_varnames": ["numbers", "__return__"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 3, "event": "return"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"__return__": 3, "numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest", "__return__"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "return"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"__return__": 5, "numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest", "__return__"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "return"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"__return__": 6, "numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest", "__return__"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "return"}, {"ordered_globals": ["listSum", "myList", "total"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"total": 6, "myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 9, "event": "return"}]}; + + +var qtipShared = { + show: { + ready: true, // show on document.ready instead of on mouseenter + delay: 0, + event: null, + effect: function() {$(this).show();}, // don't do any fancy fading because it screws up with scrolling + }, + hide: { + fixed: true, + event: null, + effect: function() {$(this).hide();}, // don't do any fancy fading because it screws up with scrolling + }, + style: { + classes: 'ui-tooltip-pgbootstrap', // my own customized version of the bootstrap style + }, +}; + + +function createSpeechBubble(domID, my, at, htmlContent, isInput) { + var hashID = '#' + domID; + $(hashID).qtip($.extend({}, qtipShared, { + content: htmlContent, + id: domID, + position: { + my: my, + at: at, + effect: null, // disable all cutesy animations + }, + })); + + + if (isInput) { + + } + else { + $('#ui-tooltip-' + domID + '-content').click(function() { + if (!$(hashID).data('qtip-minimized')) { + $(hashID) + .data('qtip-minimized', true) + .qtip('option', 'content.text', ' '); + } + else { + $(hashID) + .data('qtip-minimized', false) + .qtip('option', 'content.text', htmlContent); + } + }); + } +} + + +// a speech bubble annotation to attach to: +// 'codeline' - a line of code +// 'frame' - a stack frame +// 'variable' - a variable within a stack frame +// 'object' - an object on the heap +// (as determined by the 'type' param) +// +// domID is the ID of the element to attach to (without the leading '#' sign) +function AnnotationBubble(type, domID) { + this.domID = domID; + this.hashID = '#' + domID; + + this.type = type; + + if (type == 'codeline') { + this.my = 'left center'; + this.at = 'right center'; + } + else if (type == 'frame') { + this.my = 'right center'; + this.at = 'left center'; + } + else if (type == 'variable') { + this.my = 'right center'; + this.at = 'left center'; + } + else if (type == 'object') { + this.my = 'bottom left'; + this.at = 'top center'; + } + else { + assert(false); + } + + // possible states: + // 'invisible' + // 'edit' + // 'view' + // 'minimized' + // 'stub' + this.state = 'invisible'; + + this.text = ''; // the actual contents of the annotation bubble + + this.qtipHidden = false; // is there a qtip object present but hidden? (TODO: kinda confusing) +} + +AnnotationBubble.prototype.showStub = function() { + assert(this.state == 'invisible' || this.state == 'edit'); + assert(this.text == ''); + + var myBubble = this; // to avoid name clashes with 'this' in inner scopes + + // destroy then create a new tip: + this.destroyQTip(); + $(this.hashID).qtip($.extend({}, qtipShared, { + content: ' ', + id: this.domID, + position: { + my: this.my, + at: this.at, + effect: null, // disable all cutesy animations + }, + style: { + classes: 'ui-tooltip-pgbootstrap ui-tooltip-pgbootstrap-stub' + } + })); + + + $(this.qTipID()) + .unbind('click') // unbind all old handlers + .click(function() { + myBubble.showEditor(); + }); + + this.state = 'stub'; +} + +AnnotationBubble.prototype.showEditor = function() { + assert(this.state == 'stub' || this.state == 'view' || this.state == 'minimized'); + + var myBubble = this; // to avoid name clashes with 'this' in inner scopes + + var ta = ''; + + // destroy then create a new tip: + this.destroyQTip(); + $(this.hashID).qtip($.extend({}, qtipShared, { + content: ta, + id: this.domID, + position: { + my: this.my, + at: this.at, + effect: null, // disable all cutesy animations + } + })); + + + $(this.qTipContentID()).find('textarea.bubbleInputText') + // set handler when the textarea loses focus + .blur(function() { + myBubble.text = $(this).val().trim(); // strip all leading and trailing spaces + + if (myBubble.text) { + myBubble.showViewer(); + } + else { + myBubble.showStub(); + } + }) + .focus(); // grab focus so that the user can start typing right away! + + this.state = 'edit'; +} + + +AnnotationBubble.prototype.bindViewerClickHandler = function() { + var myBubble = this; + + $(this.qTipID()) + .unbind('click') // unbind all old handlers + .click(function() { + if (globalAnnotationMode == 'edit') { + myBubble.showEditor(); + } + else if (globalAnnotationMode == 'view') { + myBubble.minimizeViewer(); + } + else { + assert(false); + } + }); +} + +AnnotationBubble.prototype.showViewer = function() { + assert(this.state == 'edit'); + assert(this.text); // must be non-empty! + + // destroy then create a new tip: + this.destroyQTip(); + $(this.hashID).qtip($.extend({}, qtipShared, { + content: this.text, + id: this.domID, + position: { + my: this.my, + at: this.at, + effect: null, // disable all cutesy animations + } + })); + + this.bindViewerClickHandler(); + this.state = 'view'; +} + + +AnnotationBubble.prototype.minimizeViewer = function() { + assert(this.state == 'view'); + + var myBubble = this; + + $(this.hashID).qtip('option', 'content.text', ' '); //hack to "minimize" its size + + $(this.qTipID()) + .unbind('click') // unbind all old handlers + .click(function() { + if (globalAnnotationMode == 'edit') { + myBubble.showEditor(); + } + else if (globalAnnotationMode == 'view') { + myBubble.restoreViewer(); + } + else { + assert(false); + } + }); + + this.state = 'minimized'; +} + +AnnotationBubble.prototype.restoreViewer = function() { + assert(this.state == 'minimized'); + $(this.hashID).qtip('option', 'content.text', this.text); + this.bindViewerClickHandler(); + this.state = 'view'; +} + +// NB: actually DESTROYS the QTip object +AnnotationBubble.prototype.makeInvisible = function() { + assert(this.state == 'stub' || this.state == 'edit'); + this.destroyQTip(); + this.state = 'invisible'; +} + + +AnnotationBubble.prototype.destroyQTip = function() { + $(this.hashID).qtip('destroy'); +} + +AnnotationBubble.prototype.qTipContentID = function() { + return '#ui-tooltip-' + this.domID + '-content'; +} + +AnnotationBubble.prototype.qTipID = function() { + return '#ui-tooltip-' + this.domID; +} + + +AnnotationBubble.prototype.enterEditMode = function() { + assert(globalAnnotationMode == 'edit'); + if (this.state == 'invisible') { + this.showStub(); + + if (this.type == 'codeline') { + this.redrawCodelineBubble(); + } + } +} + +AnnotationBubble.prototype.enterViewMode = function() { + assert(globalAnnotationMode == 'view'); + if (this.state == 'stub') { + this.makeInvisible(); + } + else if (this.state == 'edit') { + this.text = $(this.qTipContentID()).find('textarea.bubbleInputText').val().trim(); // strip all leading and trailing spaces + + if (this.text) { + this.showViewer(); + + if (this.type == 'codeline') { + this.redrawCodelineBubble(); + } + } + else { + this.makeInvisible(); + } + } +} + +AnnotationBubble.prototype.redrawCodelineBubble = function() { + assert(this.type == 'codeline'); + + if (isOutputLineVisible(this.domID)) { + if (this.qtipHidden) { + $(this.hashID).qtip('show'); + } + else { + $(this.hashID).qtip('reposition'); + } + + this.qtipHidden = false; + } + else { + $(this.hashID).qtip('hide'); + this.qtipHidden = true; + } +} + + +globalAnnotationMode = 'view'; +allBubbles = []; + + +// returns True iff lineNo is visible in pyCodeOutputDiv +// NB: copied, pasted, and modified from isOutputLineVisible in js/pytutor.js +function isOutputLineVisible(lineDivID) { + var pcod = $('#pyCodeOutputDiv'); + + var lineNoTd = $('#' + lineDivID); + var LO = lineNoTd.offset().top; + + var PO = pcod.offset().top; + var ST = pcod.scrollTop(); + var H = pcod.height(); + + // add a few pixels of fudge factor on the bottom end due to bottom scrollbar + return (PO <= LO) && (LO < (PO + H - 25)); +} + + +$(document).ready(function() { + /* + var listSumVisualizer = new ExecutionVisualizer('listSumDiv', listSumTrace, + {embeddedMode: false, + editCodeBaseURL: 'http://pythontutor.com/visualize.html'}); + + return; + */ + + // force vertical code scrolling + $('#pyCodeOutputDiv').css('max-height', '120px'); + + allBubbles.push(new AnnotationBubble('frame', 'v1__globals')); + allBubbles.push(new AnnotationBubble('frame', 'v1__stack0')); + allBubbles.push(new AnnotationBubble('frame', 'v1__stack1')); + allBubbles.push(new AnnotationBubble('frame', 'v1__stack2')); + allBubbles.push(new AnnotationBubble('frame', 'v1__stack3')); + + allBubbles.push(new AnnotationBubble('object', 'v1__heap_object_1')); + allBubbles.push(new AnnotationBubble('object', 'v1__heap_object_2')); + allBubbles.push(new AnnotationBubble('object', 'v1__heap_object_3')); + allBubbles.push(new AnnotationBubble('object', 'v1__heap_object_4')); + + allBubbles.push(new AnnotationBubble('codeline', 'v1__cod1')); + allBubbles.push(new AnnotationBubble('codeline', 'v1__cod2')); + allBubbles.push(new AnnotationBubble('codeline', 'v1__cod3')); + allBubbles.push(new AnnotationBubble('codeline', 'v1__cod4')); + allBubbles.push(new AnnotationBubble('codeline', 'v1__cod5')); + allBubbles.push(new AnnotationBubble('codeline', 'v1__cod6')); + allBubbles.push(new AnnotationBubble('codeline', 'v1__cod7')); + allBubbles.push(new AnnotationBubble('codeline', 'v1__cod8')); + allBubbles.push(new AnnotationBubble('codeline', 'v1__cod9')); + + allBubbles.push(new AnnotationBubble('variable', 'v1__global__listSum_tr')); + allBubbles.push(new AnnotationBubble('variable', 'v1__global__myList_tr')); + + allBubbles.push(new AnnotationBubble('variable', 'v1__listSum_f1__numbers_tr')); + allBubbles.push(new AnnotationBubble('variable', 'v1__listSum_f1__f_tr')); + allBubbles.push(new AnnotationBubble('variable', 'v1__listSum_f1__rest_tr')); + + allBubbles.push(new AnnotationBubble('variable', 'v1__listSum_f2__numbers_tr')); + allBubbles.push(new AnnotationBubble('variable', 'v1__listSum_f2__f_tr')); + allBubbles.push(new AnnotationBubble('variable', 'v1__listSum_f2__rest_tr')); + + allBubbles.push(new AnnotationBubble('variable', 'v1__listSum_f3__numbers_tr')); + allBubbles.push(new AnnotationBubble('variable', 'v1__listSum_f3__f_tr')); + allBubbles.push(new AnnotationBubble('variable', 'v1__listSum_f3__rest_tr')); + + allBubbles.push(new AnnotationBubble('variable', 'v1__listSum_f4__numbers_tr')); + allBubbles.push(new AnnotationBubble('variable', 'v1__listSum_f4____return___tr')); + + + $('#pyCodeOutputDiv').scroll(function() { + $.each(allBubbles, function(i, e) { + if (e.type == 'codeline') { + e.redrawCodelineBubble(); + } + }); + }); + + + $('#modeToggleBtn').click(function() { + if (globalAnnotationMode == 'view') { + $('#modeToggleBtn').html('View Annotations'); + globalAnnotationMode = 'edit'; + $.each(allBubbles, function(i, e) { + e.enterEditMode(); + }); + } + else if (globalAnnotationMode == 'edit') { + $('#modeToggleBtn').html('Add/Edit Annotations'); + globalAnnotationMode = 'view'; + $.each(allBubbles, function(i, e) { + e.enterViewMode(); + }); + } + else { + assert(false); + } + }); +}); diff --git a/v3/convert_2to3.py b/v3/convert_2to3.py new file mode 100644 index 000000000..d5fb41d69 --- /dev/null +++ b/v3/convert_2to3.py @@ -0,0 +1,90 @@ +# Convert project from Python 2 to Python 3 and test that JSON traces are +# unchanged for all examples. +# +# python3 convert_2to3.py +# +# Runs under Python 2.7 and Python 3.x without 2to3 conversion +# +# Created by John DeNero + +import generate_json_trace +import os +import sys +import json + + +def write_trace(python, example_path, output_path): + '''Use system call to generate a JSON trace using some python binary.''' + example = os.path.split(example_path)[1] + print('Generating JSON for "{0}" with {1}'.format(example, python)) + cmd = '{0} generate_json_trace.py {1} > {2}' + os.system(cmd.format(python, example_path, output_path)) + + +def write_py2_traces(examples_dir, traces_dir): + '''Write JSON traces for all examples using Python 2.7.''' + for path, _, filenames in os.walk(examples_dir): + for example in filenames: + example_path = os.path.join(path, example) + outfile = path.replace(os.path.sep, '_') + '_' + example + output_path = os.path.join(traces_dir, outfile) + write_trace('python2.7', example_path, output_path) + + +def verify_py3_traces(examples_dir, traces_dir): + '''Write and compare JSON traces for all examples using Python 3.''' + diffs = [] + for path, _, filenames in os.walk(examples_dir): + for example in filenames: + example_path = os.path.join(path, example) + outfile = path.replace(os.path.sep, '_') + '_' + example + output_path = os.path.join(traces_dir, outfile + '.py3k') + write_trace('python3', example_path, output_path) + + py2_path = os.path.join(traces_dir, outfile) + py2_result = json.load(open(py2_path)) + py3_result = json.load(open(output_path)) + if py2_result['trace'] != py3_result['trace']: + diffs.append(example) + return diffs + + +known_differences = """Known differences include: + +fib.txt: "while True:" is evaluated once in Python 3, but repeatedly in Python. + +map.txt: 2to3 converts call to map() to a list comprehension. + +OOP*.txt, ll2.txt: __init__ functions orphan a __locals__ dict on the heap in + Python 3, but it is not rendered in the front end. + +wentworth_try_finally.txt: Python 3 integer division is true, not floor. +""" + +if __name__ == '__main__': + examples_dir = 'example-code' + if not os.path.exists(examples_dir): + print('Examples directory {0} does not exist.'.format(examples_dir)) + sys.exit(1) + + traces_dir = examples_dir + '-traces' + if os.path.exists(traces_dir): + print('Testing directory {0} already exists.'.format(traces_dir)) + sys.exit(1) + os.mkdir(traces_dir) + + write_py2_traces(examples_dir, traces_dir) + + # Convert examples to Python 3 + os.system('2to3 -w -n --no-diffs {0}/*.txt {0}/*/*.txt'.format(examples_dir)) + + diffs = verify_py3_traces(examples_dir, traces_dir) + + if diffs: + print('Trace differences for: {0}'.format(diffs)) + print('See {0} for traces.'.format(traces_dir)) + print(known_differences) + else: + print('Traces are identical; cleaning up') + shutil.rm(traces_dir) + diff --git a/v3/create_log_db.py b/v3/create_log_db.py new file mode 100644 index 000000000..52e2f13f8 --- /dev/null +++ b/v3/create_log_db.py @@ -0,0 +1,27 @@ +# Setup sqlite database to support query logging from web_exec.py + +import os, sqlite3 + +DB_FILE = 'opt-query-log.sqlite3' + +def create_db(): + con = sqlite3.connect(DB_FILE) + cur = con.cursor() + + cur.execute('''CREATE TABLE query_log + (id INTEGER PRIMARY KEY, + timestamp TEXT, + ip_addr TEXT, + http_user_agent TEXT, + http_referer TEXT, + user_script TEXT, + cumulative_mode INTEGER)''') + con.commit() + cur.close() + + +if __name__ == "__main__": + assert not os.path.exists(DB_FILE) + create_db() + print('Created ' + DB_FILE) + diff --git a/v3/css/2012-08-29-CSS-encapsulation/README b/v3/css/2012-08-29-CSS-encapsulation/README new file mode 100644 index 000000000..8d02a04dd --- /dev/null +++ b/v3/css/2012-08-29-CSS-encapsulation/README @@ -0,0 +1,69 @@ +From me: + +I just thought of a possible solution for those nasty CSS clashes that +you guys are encountering: + +I could prefix all of my python tutor CSS rules with something like +div.ExecutionVisualizer. e.g., + +div.ExecutionVisualizer table td { + ... blah blah ... +} + +and then when the user creates an ExecutionVisualizer object with +JavaScript and passes it a div, I use JavaScript to set its class to +"ExecutionVisualizer". + +Thoughts? + + +--- +From John: + +That's a good idea. It would also be great to establish two different +top-level div classes: one for embedded and one for stand-alone +visualizers. Embedded visualizers typically need to be more densely +laid out, otherwise they eat up the entire page. You can see my css +changes for embedding in the master branch of my fork. + +https://github.com/papajohn/OnlinePythonTutor/blob/master/PyTutorGAE/css/pytutor.css +[downloaded as papajohn-pytutor.css] + +Ideally, I'd add the option of creating an embedded visualizer or a +stand-alone one on construction, and each would be allowed to have +different styles but mostly share the same styles. + + +--- +From Sean: + +Philip, just wondering, could you just make a new container div with the +right class, and stick it into the div passed to your code? This might +be easier than fiddling with the class on the div the user gives, and +I'm also wondering whether there could be unforeseen interactions with +other classes that might have been prespecified on that div. I don't +know what the downsides of the new approach are, though. + +--- +My thoughts: + +- maybe just have a set of css styles for a standalone visualizer, and + then add an option or something to flip a bit to make it embedded ... + if the visualizer is embedded, then use js to set css for certain + attributes + +--- +2012-08-29 email from me to John and Sean: + +Gentlemen - + +I just pushed some changes that implemented: + +- Sean's suggestion of creating a div.ExecutionVisualizer within the root DOM node passed into a new ExecutionVisualizer object, +- prefixing of all CSS rules by div.ExecutionVisualizer +- some of John's modified CSS + +Hopefully CSS clashes are less of a problem from now on. + +However, I still didn't implement John's suggestion for an "embedded CSS mode" yet; right now the best thing to do is to either tweak the CSS manually or to write javascript to dynamically modify the CSS. + diff --git a/v3/css/2012-08-29-CSS-encapsulation/papajohn-pytutor.css b/v3/css/2012-08-29-CSS-encapsulation/papajohn-pytutor.css new file mode 100644 index 000000000..87a5607dc --- /dev/null +++ b/v3/css/2012-08-29-CSS-encapsulation/papajohn-pytutor.css @@ -0,0 +1,487 @@ +/* + +Online Python Tutor +https://github.com/pgbovine/OnlinePythonTutor/ + +Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +*/ + +/* Most recent color scheme redesign: 2012-08-19 */ + +table.visualizer { + font-family: Helvetica, sans-serif; + font-size: 10pt; +} + + +td#stack_td, +td#heap_td { + vertical-align:top; + font-size: 10pt; /* don't make fonts in the heap so big! */ +} + +#dataViz { + margin-left: 30px; +} + +table.frameDataViz { + border-spacing: 0px; + font-size: 12pt; + margin-top: 5px; + margin-left: 15px; + background-color: #dddddd; + padding: 5px; +} + +table.frameDataViz td.varname { + text-align: right; + padding: 5px; + padding-right: 8px; + border-right: 1px dashed #888888; +} + +table.frameDataViz td.val { + padding-left: 8px; + padding-right: 5px; + + padding-top: 8px; + padding-bottom: 8px; +} + +div#pyCodeOutputDiv { + max-width: 550px; + max-height: 450px; + overflow: auto; +} + +table#pyCodeOutput { + font-family: Andale mono, monospace; + font-size: 11pt; + line-height: 1.1em; + border-spacing: 0px; + border-top: 1px solid #999999; + padding-top: 3px; + border-bottom: 1px solid #999999; + margin: 6px auto; /* Center code in its pane */ +} + +/* don't wrap lines within code output ... FORCE scrollbars to appear */ +table#pyCodeOutput td { + white-space: nowrap; +} + +table#pyCodeOutput .lineNo { + background-color:#FFFFFF; + color:#AAAAAA; + margin:0; + padding:0.2em; + padding-right:0.5em; + text-align:right; + width:2.1em; +} + +table#pyCodeOutput .cod { + /*font-weight: bold;*/ + margin-left: 3px; + padding-left: 7px; + text-align: left; /* necessary or else doesn't work properly in IE */ +} + +div#editCodeLinkDiv { + text-align: center; + margin: 12px auto; +} + +#editCodeLinkOnError { + color: #142B69; + font-size: 9px; +} + +#errorOutput { + color: #d03939; + /*background-color: #F87D76;*/ + font-size: 12pt; + padding: 2px; + line-height: 1.5em; + margin-bottom: 4px; +} + +button.bigBtn { + font-size: 12pt; + padding: 5px; +} + +button.medBtn { + font-size: 12pt; + padding: 3px; +} + + +/* VCR control buttons for stepping through execution */ + +#vcrControls { + margin: 15px auto; + width: 100%; + text-align: center; +} + +#vcrControls button { + margin-left: 5px; + margin-right: 5px; +} + +#pyStdout { + border: 1px solid #999999; + font-size: 12pt; + padding: 4px; + font-family: Andale mono, monospace; +} + +.vizFrame { + margin-bottom: 20px; + padding-left: 8px; + border-left: 2px solid #cccccc; +} + + +/* Rendering of primitive types */ + +.nullObj { + font-size: 8pt; +} + +/* +.numberObj { + font-size: 10pt; +} + +.boolObj { + font-size: 10pt; +} +*/ + +.stringObj, .customObj, .funcObj { + font-family: Andale mono, monospace; + white-space: nowrap; +} + +.retval { + font-size: 9pt; +} + + +/* Rendering of basic compound types */ + +table.listTbl, table.tupleTbl, table.setTbl { + background-color: #ffffc6; +} + + +table.listTbl { + border: 0px solid black; + border-spacing: 0px; +} + +table.listTbl td.listHeader, +table.tupleTbl td.tupleHeader { + padding-left: 4px; + padding-top: 2px; + padding-bottom: 3px; + font-size: 8pt; + color: #777; + text-align: left; + border-left: 1px solid #555555; +} + +table.tupleTbl { + border-spacing: 0px; + color: black; + + border-bottom: 1px solid #555555; /* must match td.tupleHeader border */ + border-top: 1px solid #555555; /* must match td.tupleHeader border */ + border-right: 1px solid #555555; /* must match td.tupleHeader border */ +} + + +table.listTbl td.listElt { + border-bottom: 1px solid #555555; /* must match td.listHeader border */ + border-left: 1px solid #555555; /* must match td.listHeader border */ +} + +table.tupleTbl td.tupleElt { + border-left: 1px solid #555555; /* must match td.tupleHeader border */ +} + +table.customObjTbl { + background-color: white; + color: black; + border: 1px solid black; +} + +table.customObjTbl td.customObjElt { + padding: 5px; +} + +table.listTbl td.listElt, +table.tupleTbl td.tupleElt { + padding-top: 0px; + padding-bottom: 8px; + padding-left: 10px; + padding-right: 10px; + vertical-align: bottom; +} + +table.setTbl { + border: 1px solid #555555; + border-spacing: 0px; + text-align: center; +} + +table.setTbl td.setElt { + padding: 8px; +} + + +table.dictTbl, +table.instTbl, +table.classTbl { + border-spacing: 1px; +} + +table.dictTbl td.dictKey, +table.instTbl td.instKey, +table.classTbl td.classKey { + background-color: #faebbf; +} + +table.dictTbl td.dictVal, +table.instTbl td.instVal, +table.classTbl td.classVal { + background-color: #ffffc6; +} + + +table.dictTbl td.dictKey, +table.instTbl td.instKey, +table.classTbl td.classKey { + padding-top: 12px /*15px*/; + padding-bottom: 5px; + padding-left: 10px; + padding-right: 4px; + + text-align: right; +} + +table.dictTbl td.dictVal, +table.instTbl td.instVal, +table.classTbl td.classVal { + padding-top: 12px /*15px*/; + padding-bottom: 5px; + padding-right: 10px; + padding-left: 4px; +} + + +table.classTbl td, +table.instTbl td { + border-bottom: 1px #888 solid; +} + +table.classTbl td.classVal, +table.instTbl td.instVal { + border-left: 1px #888 solid; +} + +table.classTbl { + border-collapse: collapse; + border: 1px #888 solid; +} + +/* only add a border to dicts if they're embedded within another object */ +td.listElt table.dictTbl, +td.tupleElt table.dictTbl, +td.dictVal table.dictTbl, +td.instVal table.dictTbl, +td.classVal table.dictTbl { + border: 1px #888 solid; +} + + +.typeLabel { + font-size: 8pt; + color: #222222; + margin-bottom: 1px; +} + +#footer { + color: #666666; + font-size: 9pt; + border-top: 1px solid #bbbbbb; + padding-top: 5px; + margin-top: 5px; + + max-width: 700px; + /* center align */ + margin-left: auto; + margin-right: auto; +} + + +/* new stuff added for Online Python Tutor "2.0" release */ + +div#stack, div#globals_area { + padding-left: 10px; + padding-right: 30px; + + /* no longer necessary ... */ + /*float: left;*/ + /* border-right: 1px dashed #bbbbbb; */ +} + +div.stackFrame, div.zombieStackFrame { + background-color: #ffffff; + margin-bottom: 15px; + padding: 2px; + padding-left: 6px; + padding-right: 6px; + padding-bottom: 4px; + font-size: 10pt; +} + +div.zombieStackFrame { + border-left: 1px dotted #aaa; + /*color: #c0c0c0;*/ + color: #b0b0b0; +} + +div.highlightedStackFrame { + background-color: #c5dfea; +} + +div.stackFrame, div.highlightedStackFrame { + border-left: 2px solid #a6b3b6; +} + + +div.stackFrameHeader { + font-family: Andale mono, monospace; + font-size: 10pt; + margin-top: 4px; + margin-bottom: 3px; + white-space: nowrap; +} + +td.stackFrameVar { + text-align: right; + padding-right: 8px; + padding-top: 3px; + padding-bottom: 3px; +} + +td.stackFrameValue { + text-align: left; + border-bottom: 1px solid #aaaaaa; + border-left: 1px solid #aaaaaa; + + padding-top: 3px; + padding-left: 3px; + padding-bottom: 3px; +} + +.stackFrameVarTable tr { + +} + +.stackFrameVarTable { + text-align: right; + padding-top: 3px; + + /* right-align the table */ + margin-left: auto; + margin-right: 0px; +} + +div#heap { + float: left; + padding-left: 30px; +} + +td.toplevelHeapObject { + /* to make room for transition animations */ + padding-left: 8px; + padding-right: 8px; + padding-top: 4px; + padding-bottom: 4px; + border: 2px dotted white; + border-color: white; /* needed for d3 to do transitions */ +} + +table.heapRow { + margin-bottom: 10px; +} + +div.heapObject { + padding-left: 2px; /* leave a TINY amount of room for connector endpoints */ +} + +div#stackHeader { + margin-bottom: 15px; + text-align: right; +} + +div#heapHeader { + /*margin-top: 2px; + margin-bottom: 13px;*/ + margin-bottom: 15px; +} + +div#stackHeader, +div#heapHeader { + color: #333333; + font-size: 10pt; +} + +#executionSlider { + width: 300px; + margin: 6px auto; +} + +#executionSliderCaption { + font-size: 8pt; + color: #666666; + margin-top: 15px; +} + +#executionSliderFooter { + margin-top: -7px; /* make it butt up against #executionSlider */ +} + + +/* necessary for CodeMirror line highlighting to work! */ +.CodeMirror .errorLine { background: #F89D99 !important; } + + +/* darken slider handle a bit */ +.ui-slider .ui-slider-handle { + border: 1px solid #999; +} diff --git a/v3/css/codemirror.css b/v3/css/codemirror.css new file mode 100644 index 000000000..f81d8df09 --- /dev/null +++ b/v3/css/codemirror.css @@ -0,0 +1,173 @@ +.CodeMirror { + line-height: 1.2em; /* pgbovine - enables underscore (_) characters to render properly */ + font-family: monospace; + + /* Necessary so the scrollbar can be absolutely positioned within the wrapper on Lion. */ + position: relative; + /* This prevents unwanted scrollbars from showing up on the body and wrapper in IE. */ + overflow: hidden; +} + +.CodeMirror-scroll { + overflow: auto; + height: 300px; + /* This is needed to prevent an IE[67] bug where the scrolled content + is visible outside of the scrolling box. */ + position: relative; + outline: none; +} + +/* Vertical scrollbar */ +.CodeMirror-scrollbar { + position: absolute; + right: 0; top: 0; + overflow-x: hidden; + overflow-y: scroll; + z-index: 5; +} +.CodeMirror-scrollbar-inner { + /* This needs to have a nonzero width in order for the scrollbar to appear + in Firefox and IE9. */ + width: 1px; +} +.CodeMirror-scrollbar.cm-sb-overlap { + /* Ensure that the scrollbar appears in Lion, and that it overlaps the content + rather than sitting to the right of it. */ + position: absolute; + z-index: 1; + float: none; + right: 0; + min-width: 12px; +} +.CodeMirror-scrollbar.cm-sb-nonoverlap { + min-width: 12px; +} +.CodeMirror-scrollbar.cm-sb-ie7 { + min-width: 18px; +} + +.CodeMirror-gutter { + position: absolute; left: 0; top: 0; + z-index: 10; + background-color: #f7f7f7; + border-right: 1px solid #eee; + min-width: 2em; + height: 100%; +} +.CodeMirror-gutter-text { + color: #aaa; + text-align: right; + padding: .4em .2em .4em .4em; + white-space: pre !important; + cursor: default; +} +.CodeMirror-lines { + padding: .4em; + white-space: pre; + cursor: text; +} + +.CodeMirror pre { + -moz-border-radius: 0; + -webkit-border-radius: 0; + -o-border-radius: 0; + border-radius: 0; + border-width: 0; margin: 0; padding: 0; background: transparent; + font-family: inherit; + font-size: inherit; + padding: 0; margin: 0; + white-space: pre; + word-wrap: normal; + line-height: inherit; + color: inherit; +} + +.CodeMirror-wrap pre { + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; +} +.CodeMirror-wrap .CodeMirror-scroll { + overflow-x: hidden; +} + +.CodeMirror textarea { + outline: none !important; +} + +.CodeMirror pre.CodeMirror-cursor { + z-index: 10; + position: absolute; + visibility: hidden; + border-left: 1px solid black; + border-right: none; + width: 0; +} +.cm-keymap-fat-cursor pre.CodeMirror-cursor { + width: auto; + border: 0; + background: transparent; + background: rgba(0, 200, 0, .4); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#6600c800, endColorstr=#4c00c800); +} +/* Kludge to turn off filter in ie9+, which also accepts rgba */ +.cm-keymap-fat-cursor pre.CodeMirror-cursor:not(#nonsense_id) { + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.CodeMirror pre.CodeMirror-cursor.CodeMirror-overwrite {} +.CodeMirror-focused pre.CodeMirror-cursor { + visibility: visible; +} + +div.CodeMirror-selected { background: #d9d9d9; } +.CodeMirror-focused div.CodeMirror-selected { background: #d7d4f0; } + +.CodeMirror-searching { + background: #ffa; + background: rgba(255, 255, 0, .4); +} + +/* Default theme */ + +.cm-s-default span.cm-keyword {color: #708;} +.cm-s-default span.cm-atom {color: #219;} +.cm-s-default span.cm-number {color: #164;} +.cm-s-default span.cm-def {color: #00f;} +.cm-s-default span.cm-variable {color: black;} +.cm-s-default span.cm-variable-2 {color: #05a;} +.cm-s-default span.cm-variable-3 {color: #085;} +.cm-s-default span.cm-property {color: black;} +.cm-s-default span.cm-operator {color: black;} +.cm-s-default span.cm-comment {color: #a50;} +.cm-s-default span.cm-string {color: #a11;} +.cm-s-default span.cm-string-2 {color: #f50;} +.cm-s-default span.cm-meta {color: #555;} +.cm-s-default span.cm-error {color: #f00;} +.cm-s-default span.cm-qualifier {color: #555;} +.cm-s-default span.cm-builtin {color: #30a;} +.cm-s-default span.cm-bracket {color: #cc7;} +.cm-s-default span.cm-tag {color: #170;} +.cm-s-default span.cm-attribute {color: #00c;} +.cm-s-default span.cm-header {color: blue;} +.cm-s-default span.cm-quote {color: #090;} +.cm-s-default span.cm-hr {color: #999;} +.cm-s-default span.cm-link {color: #00c;} + +span.cm-header, span.cm-strong {font-weight: bold;} +span.cm-em {font-style: italic;} +span.cm-emstrong {font-style: italic; font-weight: bold;} +span.cm-link {text-decoration: underline;} + +span.cm-invalidchar {color: #f00;} + +div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;} +div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} + +@media print { + + /* Hide the cursor when printing */ + .CodeMirror pre.CodeMirror-cursor { + visibility: hidden; + } + +} diff --git a/v3/css/index.css b/v3/css/index.css new file mode 100644 index 000000000..053cbca81 --- /dev/null +++ b/v3/css/index.css @@ -0,0 +1,201 @@ +/* CSS accompanying ../index.html */ + +body { + background-color: white; + + font-family: Georgia, Palatino, Times, serif; + + font-size: 12pt; + + /* use fixed width for simplicity */ + max-width: 900px; + min-width: 900px; + width: 900px; + + margin-left: auto; + margin-right: auto; +} + +/* for prose text only */ +p, li { + line-height: 1.5; +} + +h1 { + font-weight: normal; + margin-top: 0px; + margin-bottom: 8px; + line-height: 1.5; +} + +.smallH1 { + font-size: 14pt; + margin-left: -2px; +} + +#optLink { + font-size: 14pt; + text-decoration: none; + color: #3D58A2; + font-weight: bold; +} + +#optLink:hover { + color: #3D58A2; + text-decoration: underline; +} + +.titlePane { + margin-left: auto; + margin-right: auto; + margin-bottom: 0px; + text-align: center; +} + +.titlePane h1 { + font-size: 22pt; + margin-bottom: 5px; +} + +div.mainBodyPane { + margin-left: auto; + margin-right: auto; +} + +div.activityPane { + /* TOP RIGHT BOTTOM LEFT */ + padding: 15px 0px /* make right padding ZERO and just right-pad 'p' */ 5px 20px; + text-align: left; + border: 3px solid #005583; +} + +div.activityPane p { + padding-right: 30px; +} + +div.activityPane h1 { + font-size: 22pt; + margin-bottom: 20pt; +} + + +ul { + padding-left: 18px; +} + +li { + margin-bottom: 12px; + font-size: 10pt; +} + +a, +a:visited, +a:hover { + color: #3D58A2; +} + +#learnHeading, #embedHeading, #shareHeading { + font-family: verdana, arial, helvetica, sans-serif; + font-weight: bold; + font-size: 24pt; +} + +#learnHeading { + color: #062270; +} + +div#learnPane { + margin-top: 6pt; + margin-bottom: 8pt; + border: 5px solid #062270; +} + +div#learnPane p { + padding-right: 100px; +} + +div#learnPane #startLink { + font-size: 16pt; + font-weight: normal; + margin-top: 25px; + margin-bottom: 20px; + font-family: verdana, arial, helvetica, sans-serif; +} + +div#learnPane #startLink a { + border-bottom-style: solid; + border-bottom-width: 2px; + text-decoration: none; +} + +tt { + /*font-size: 85%;*/ +} + +div#embedPane { + margin-right: 5px; + border: 5px solid #5a7973; +} + + +#embedHeading { + color: #5a7973; +} + +div#sharePane { + margin-left: 5px; + border: 5px solid #4284d3; +} + +#shareHeading { + color: #4284d3; +} + +div#detailsPane { + margin-top: 0px; + margin-left: 5px; + border: 0px; /* NO BORDER! */ +} + +#partnershipDiv { + /*background-color: #d8e1e3;*/ + background-color: #d9cdb6; + width: 60%; + padding: 8px; + margin-left: auto; + margin-right: auto; + text-align: center; + + font-size: 10pt; + font-family: Monaco, arial, sans-serif; +} + +table.layoutTbl { + border: 0px; + max-width: 900px; +} + +table.layoutTbl td#embedPaneTd { + width: 60%; + vertical-align: top; +} + +table.layoutTbl td#sharePaneTd { + width: 40%; + vertical-align: top; +} + + +#footer { + color: #666666; + font-size: 9pt; + border-top: 1px solid #bbbbbb; + padding-top: 0px; + margin-top: 20px; + + /* center align */ + margin-left: auto; + margin-right: auto; + + font-family: verdana, arial, helvetica, sans-serif; +} diff --git a/v3/css/jquery.qtip.css b/v3/css/jquery.qtip.css new file mode 100644 index 000000000..fb7fe24b6 --- /dev/null +++ b/v3/css/jquery.qtip.css @@ -0,0 +1,573 @@ +/*! qTip2 - Pretty powerful tooltips - v2.0.0 - 2012-09-10 +* http://craigsworks.com/projects/qtip2/ +* Copyright (c) 2012 Craig Michael Thompson; Licensed MIT, GPL */ + +/* Fluid class for determining actual width in IE */ +#qtip-rcontainer{ + position: absolute; + left: -28000px; + top: -28000px; + display: block; + visibility: hidden; +} + + /* Fluid class for determining actual width in IE */ + #qtip-rcontainer .ui-tooltip{ + display: block !important; + visibility: hidden !important; + position: static !important; + float: left !important; + } + +/* Core qTip styles */ +.ui-tooltip, .qtip{ + position: absolute; + left: -28000px; + top: -28000px; + display: none; + + max-width: 280px; + min-width: 50px; + + font-size: 10.5px; + line-height: 12px; +} + + .ui-tooltip-content{ + position: relative; + padding: 5px 9px; + overflow: hidden; + + text-align: left; + word-wrap: break-word; + } + + .ui-tooltip-titlebar{ + position: relative; + min-height: 14px; + padding: 5px 35px 5px 10px; + overflow: hidden; + + border-width: 0 0 1px; + font-weight: bold; + } + + .ui-tooltip-titlebar + .ui-tooltip-content{ border-top-width: 0 !important; } + + /* Default close button class */ + .ui-tooltip-titlebar .ui-state-default{ + position: absolute; + right: 4px; + top: 50%; + margin-top: -9px; + + cursor: pointer; + outline: medium none; + + border-width: 1px; + border-style: solid; + } + + * html .ui-tooltip-titlebar .ui-state-default{ top: 16px; } /* IE fix */ + + .ui-tooltip-titlebar .ui-icon, + .ui-tooltip-icon .ui-icon{ + display: block; + text-indent: -1000em; + direction: ltr; + } + + .ui-tooltip-icon, .ui-tooltip-icon .ui-icon{ + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + text-decoration: none; + } + + .ui-tooltip-icon .ui-icon{ + width: 18px; + height: 14px; + + text-align: center; + text-indent: 0; + font: normal bold 10px/13px Tahoma,sans-serif; + + color: inherit; + background: transparent none no-repeat -100em -100em; + } + + +/* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */ +.ui-tooltip-focus{} + +/* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */ +.ui-tooltip-hover{} + +/* Default tooltip style */ +.ui-tooltip-default{ + border-width: 1px; + border-style: solid; + border-color: #F1D031; + + background-color: #FFFFA3; + color: #555; +} + + .ui-tooltip-default .ui-tooltip-titlebar{ + background-color: #FFEF93; + } + + .ui-tooltip-default .ui-tooltip-icon{ + border-color: #CCC; + background: #F1F1F1; + color: #777; + } + + .ui-tooltip-default .ui-tooltip-titlebar .ui-state-hover{ + border-color: #AAA; + color: #111; + } + + +/*! Light tooltip style */ +.ui-tooltip-light{ + background-color: white; + border-color: #E2E2E2; + color: #454545; +} + + .ui-tooltip-light .ui-tooltip-titlebar{ + background-color: #f1f1f1; + } + + +/*! Dark tooltip style */ +.ui-tooltip-dark{ + background-color: #505050; + border-color: #303030; + color: #f3f3f3; +} + + .ui-tooltip-dark .ui-tooltip-titlebar{ + background-color: #404040; + } + + .ui-tooltip-dark .ui-tooltip-icon{ + border-color: #444; + } + + .ui-tooltip-dark .ui-tooltip-titlebar .ui-state-hover{ + border-color: #303030; + } + + +/*! Cream tooltip style */ +.ui-tooltip-cream{ + background-color: #FBF7AA; + border-color: #F9E98E; + color: #A27D35; +} + + .ui-tooltip-cream .ui-tooltip-titlebar{ + background-color: #F0DE7D; + } + + .ui-tooltip-cream .ui-state-default .ui-tooltip-icon{ + background-position: -82px 0; + } + + +/*! Red tooltip style */ +.ui-tooltip-red{ + background-color: #F78B83; + border-color: #D95252; + color: #912323; +} + + .ui-tooltip-red .ui-tooltip-titlebar{ + background-color: #F06D65; + } + + .ui-tooltip-red .ui-state-default .ui-tooltip-icon{ + background-position: -102px 0; + } + + .ui-tooltip-red .ui-tooltip-icon{ + border-color: #D95252; + } + + .ui-tooltip-red .ui-tooltip-titlebar .ui-state-hover{ + border-color: #D95252; + } + + +/*! Green tooltip style */ +.ui-tooltip-green{ + background-color: #CAED9E; + border-color: #90D93F; + color: #3F6219; +} + + .ui-tooltip-green .ui-tooltip-titlebar{ + background-color: #B0DE78; + } + + .ui-tooltip-green .ui-state-default .ui-tooltip-icon{ + background-position: -42px 0; + } + + +/*! Blue tooltip style */ +.ui-tooltip-blue{ + background-color: #E5F6FE; + border-color: #ADD9ED; + color: #5E99BD; +} + + .ui-tooltip-blue .ui-tooltip-titlebar{ + background-color: #D0E9F5; + } + + .ui-tooltip-blue .ui-state-default .ui-tooltip-icon{ + background-position: -2px 0; + } + + +/* Add shadows to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */ +.ui-tooltip-shadow{ + -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15); + box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15); +} + +/* Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */ +.ui-tooltip-rounded, +.ui-tooltip-tipsy, +.ui-tooltip-bootstrap{ + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + +/* Youtube tooltip style */ +.ui-tooltip-youtube{ + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + + -webkit-box-shadow: 0 0 3px #333; + -moz-box-shadow: 0 0 3px #333; + box-shadow: 0 0 3px #333; + + color: white; + border-width: 0; + + background: #4A4A4A; + background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,black)); + background-image: -webkit-linear-gradient(top,#4A4A4A 0,black 100%); + background-image: -moz-linear-gradient(top,#4A4A4A 0,black 100%); + background-image: -ms-linear-gradient(top,#4A4A4A 0,black 100%); + background-image: -o-linear-gradient(top,#4A4A4A 0,black 100%); +} + + .ui-tooltip-youtube .ui-tooltip-titlebar{ + background-color: #4A4A4A; + background-color: rgba(0,0,0,0); + } + + .ui-tooltip-youtube .ui-tooltip-content{ + padding: .75em; + font: 12px arial,sans-serif; + + filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000); + -ms-filter: "progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"; + } + + .ui-tooltip-youtube .ui-tooltip-icon{ + border-color: #222; + } + + .ui-tooltip-youtube .ui-tooltip-titlebar .ui-state-hover{ + border-color: #303030; + } + + +/* jQuery TOOLS Tooltip style */ +.ui-tooltip-jtools{ + background: #232323; + background: rgba(0, 0, 0, 0.7); + background-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323)); + background-image: -moz-linear-gradient(top, #717171, #232323); + background-image: -webkit-linear-gradient(top, #717171, #232323); + background-image: -ms-linear-gradient(top, #717171, #232323); + background-image: -o-linear-gradient(top, #717171, #232323); + + border: 2px solid #ddd; + border: 2px solid rgba(241,241,241,1); + + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + + -webkit-box-shadow: 0 0 12px #333; + -moz-box-shadow: 0 0 12px #333; + box-shadow: 0 0 12px #333; +} + + /* IE Specific */ + .ui-tooltip-jtools .ui-tooltip-titlebar{ + background-color: transparent; + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"; + } + .ui-tooltip-jtools .ui-tooltip-content{ + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"; + } + + .ui-tooltip-jtools .ui-tooltip-titlebar, + .ui-tooltip-jtools .ui-tooltip-content{ + background: transparent; + color: white; + border: 0 dashed transparent; + } + + .ui-tooltip-jtools .ui-tooltip-icon{ + border-color: #555; + } + + .ui-tooltip-jtools .ui-tooltip-titlebar .ui-state-hover{ + border-color: #333; + } + + +/* Cluetip style */ +.ui-tooltip-cluetip{ + -webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4); + -moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4); + box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4); + + background-color: #D9D9C2; + color: #111; + border: 0 dashed transparent; +} + + .ui-tooltip-cluetip .ui-tooltip-titlebar{ + background-color: #87876A; + color: white; + border: 0 dashed transparent; + } + + .ui-tooltip-cluetip .ui-tooltip-icon{ + border-color: #808064; + } + + .ui-tooltip-cluetip .ui-tooltip-titlebar .ui-state-hover{ + border-color: #696952; + color: #696952; + } + + +/* Tipsy style */ +.ui-tooltip-tipsy{ + background: black; + background: rgba(0, 0, 0, .87); + + color: white; + border: 0 solid transparent; + + font-size: 11px; + font-family: 'Lucida Grande', sans-serif; + font-weight: bold; + line-height: 16px; + text-shadow: 0 1px black; +} + + .ui-tooltip-tipsy .ui-tooltip-titlebar{ + padding: 6px 35px 0 10; + background-color: transparent; + } + + .ui-tooltip-tipsy .ui-tooltip-content{ + padding: 6px 10; + } + + .ui-tooltip-tipsy .ui-tooltip-icon{ + border-color: #222; + text-shadow: none; + } + + .ui-tooltip-tipsy .ui-tooltip-titlebar .ui-state-hover{ + border-color: #303030; + } + + +/* Tipped style */ +.ui-tooltip-tipped{ + border: 3px solid #959FA9; + + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + + background-color: #F9F9F9; + color: #454545; + + font-weight: normal; + font-family: serif; +} + + .ui-tooltip-tipped .ui-tooltip-titlebar{ + border-bottom-width: 0; + + color: white; + background: #3A79B8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D)); + background-image: -webkit-linear-gradient(top, #3A79B8, #2E629D); + background-image: -moz-linear-gradient(top, #3A79B8, #2E629D); + background-image: -ms-linear-gradient(top, #3A79B8, #2E629D); + background-image: -o-linear-gradient(top, #3A79B8, #2E629D); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"; + } + + .ui-tooltip-tipped .ui-tooltip-icon{ + border: 2px solid #285589; + background: #285589; + } + + .ui-tooltip-tipped .ui-tooltip-icon .ui-icon{ + background-color: #FBFBFB; + color: #555; + } + + +/** + * Twitter Bootstrap style. + * + * Tested with IE 8, IE 9, Chrome 18, Firefox 9, Opera 11. + * Does not work with IE 7. + */ +.ui-tooltip-bootstrap{ + font-size: 13px; + line-height: 18px; + + color: #333333; + background-color: #ffffff; + + + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + + *border-right-width: 2px; + *border-bottom-width: 2px; + + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + + .ui-tooltip-bootstrap .ui-tooltip-titlebar{ + font-size: 18px; + line-height: 22px; + + border-bottom: 1px solid #ccc; + background-color: transparent; + } + + .ui-tooltip-bootstrap .ui-tooltip-titlebar .ui-state-default{ + right: 9px; top: 49%; + border-style: none; + } + + .ui-tooltip-bootstrap .ui-tooltip-icon{ + background: white; + } + + .ui-tooltip-bootstrap .ui-tooltip-icon .ui-icon{ + width: auto; + height: auto; + float: right; + font-size: 20px; + font-weight: bold; + line-height: 18px; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); + } + + .ui-tooltip-bootstrap .ui-tooltip-icon .ui-icon:hover{ + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.4; + filter: alpha(opacity=40); + } + + +/* IE9 fix - removes all filters */ +.ui-tooltip:not(.ie9haxors) div.ui-tooltip-content, +.ui-tooltip:not(.ie9haxors) div.ui-tooltip-titlebar{ + filter: none; + -ms-filter: none; +} + + +/* Tips plugin */ +.ui-tooltip .ui-tooltip-tip{ + margin: 0 auto; + overflow: hidden; + z-index: 10; +} + + .ui-tooltip .ui-tooltip-tip, + .ui-tooltip .ui-tooltip-tip .qtip-vml{ + position: absolute; + + line-height: 0.1px !important; + font-size: 0.1px !important; + color: #123456; + + background: transparent; + border: 0 dashed transparent; + } + + .ui-tooltip .ui-tooltip-tip canvas{ top: 0; left: 0; } + + .ui-tooltip .ui-tooltip-tip .qtip-vml{ + behavior: url(#default#VML); + display: inline-block; + visibility: visible; + } +/* Modal plugin */ +#qtip-overlay{ + position: fixed; + left: -10000em; + top: -10000em; +} + + /* Applied to modals with show.modal.blur set to true */ + #qtip-overlay.blurs{ cursor: pointer; } + + /* Change opacity of overlay here */ + #qtip-overlay div{ + position: absolute; + left: 0; top: 0; + width: 100%; height: 100%; + + background-color: black; + + opacity: 0.7; + filter:alpha(opacity=70); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; + } + diff --git a/v3/css/opt-frontend.css b/v3/css/opt-frontend.css new file mode 100644 index 000000000..6f2953680 --- /dev/null +++ b/v3/css/opt-frontend.css @@ -0,0 +1,85 @@ +/* CSS accompanying ../visualize.html */ + +h1 { + font-weight: normal; + font-size: 20pt; + font-family: georgia, serif; + line-height: 1em; /* enforce single spacing so that Georgia works */ + + margin-top: 0px; + margin-bottom: 8px; +} + +h2 { + font-size: 12pt; + font-weight: normal; + font-family: georgia, serif; + line-height: 1.1em; /* enforce single spacing so that Georgia works */ + + margin-top: 2px; + margin-bottom: 20px; +} + + +body { + background-color: white; + font-family: verdana, arial, helvetica, sans-serif; + font-size: 10pt; +} + +a, +a:visited, +a:hover { + color: #3D58A2; +} + +span { + padding: 0px; +} + +table#pyOutputPane { + padding: 10px; +} + +#pyInputPane { + margin-top: 20px; + margin-bottom: 20px; + + max-width: 700px; + /* center align */ + margin-left: auto; + margin-right: auto; +} + +#codeInputPane { + margin-top: 5px; + font-size: 12pt; + border: 1px solid #ddd; +} + +button.smallBtn { + font-size: 10pt; + padding: 3px; +} + +button.bigBtn { + font-size: 12pt; + padding: 5px; +} + +#footer { + color: #666666; + font-size: 9pt; + border-top: 1px solid #bbbbbb; + padding-top: 5px; + margin-top: 5px; + + max-width: 700px; + /* center align */ + margin-left: auto; + margin-right: auto; +} + + +/* necessary for CodeMirror error line highlighting to work! */ +.CodeMirror .errorLine { background: #ffff3f !important; } diff --git a/v3/css/opt-lessons.css b/v3/css/opt-lessons.css new file mode 100644 index 000000000..02c07e950 --- /dev/null +++ b/v3/css/opt-lessons.css @@ -0,0 +1,85 @@ +/* CSS accompanying ../lesson.html */ + +body { + background-color: white; + + font-family: verdana, arial, helvetica, sans-serif; + + font-size: 10pt; + + max-width: 900px; + /* center align */ + margin-left: auto; + margin-right: auto; +} + +div#lessonHeader { + margin-bottom: 15pt; + width: 800px; +} + +div#lessonTitle { + font-size: 16pt; + margin-bottom: 15pt; +} + +div#lessonDescription { + font-size: 11pt; + line-height: 1.5em; +} + +div#lessonNarration { + font-size: 11pt; + min-height: 25px; + margin-bottom: 12px; + line-height: 1.5em; + width: 800px; +} + + +a, +a:visited, +a:hover { + color: #3D58A2; +} + +span { + padding: 0px; +} + +table#pyOutputPane { + padding: 10px; +} + +#pyInputPane { + margin-top: 20px; + margin-bottom: 20px; + + max-width: 700px; + /* center align */ + margin-left: auto; + margin-right: auto; +} + +#codeInputPane { + margin-top: 5px; + font-size: 12pt; +} + +button.smallBtn { + font-size: 10pt; + padding: 3px; +} + +button.bigBtn { + font-size: 12pt; + padding: 5px; +} + +#footer { + color: #666; + font-size: 9pt; + border-top: 1px solid #bbb; + padding-top: 12px; + margin-top: 5px; +} diff --git a/v3/css/pytutor.css b/v3/css/pytutor.css new file mode 100644 index 000000000..0fe03b844 --- /dev/null +++ b/v3/css/pytutor.css @@ -0,0 +1,495 @@ +/* + +Online Python Tutor +https://github.com/pgbovine/OnlinePythonTutor/ + +Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +*/ + +/* Most recent color scheme redesign on 2012-08-19 */ + +/* To prevent CSS namespace clashes, prefix all rules with: + div.ExecutionVisualizer +*/ + + +/* reset some styles to nullify effects of existing stylesheets + e.g., http://meyerweb.com/eric/tools/css/reset/ +*/ +div.ExecutionVisualizer { + /* none for now */ +} + +div.ExecutionVisualizer table.visualizer { + font-family: verdana, arial, helvetica, sans-serif; + font-size: 10pt; +} + +div.ExecutionVisualizer td#stack_td, +div.ExecutionVisualizer td#heap_td { + vertical-align:top; + font-size: 10pt; /* don't make fonts in the heap so big! */ +} + +div.ExecutionVisualizer #dataViz { + margin-left: 30px; +} + +div.ExecutionVisualizer div#codeDisplayDiv { + width: 550px; +} + +div.ExecutionVisualizer div#pyCodeOutputDiv { + max-width: 550px; + max-height: 450px; + /*max-height: 620px;*/ + overflow: auto; + /*margin-bottom: 4px;*/ + + margin-left: auto; + margin-right: auto; +} + +div.ExecutionVisualizer table#pyCodeOutput { + font-family: Andale mono, monospace; + font-size:12pt; + line-height:1.1em; + border-spacing: 0px; + border-top: 1px solid #bbb; + padding-top: 3px; + border-bottom: 1px solid #bbb; + /*margin-top: 6px;*/ + margin: 6px auto; /* Center code in its pane */ +} + +/* don't wrap lines within code output ... FORCE scrollbars to appear */ +div.ExecutionVisualizer table#pyCodeOutput td { + white-space: nowrap; + vertical-align: middle; /* explicitly force, to override external CSS conflicts */ +} + +div.ExecutionVisualizer #leftCodeGutterSVG { + width: 18px; + height: 0px; /* programmatically set this later ... IE needs this to + be 0 or it defaults to something arbitrary and gross */ +} + +div.ExecutionVisualizer #prevLegendArrowSVG, +div.ExecutionVisualizer #curLegendArrowSVG { + width: 18px; + height: 10px; +} + +div.ExecutionVisualizer .arrow { + font-size: 16pt; +} + +div.ExecutionVisualizer table#pyCodeOutput .lineNo { + color: #aaa; + padding: 0.2em; + padding-left: 0.3em; + padding-right: 0.5em; + text-align: right; +} + +div.ExecutionVisualizer table#pyCodeOutput .cod { + /*font-weight: bold;*/ + margin-left: 3px; + padding-left: 7px; + text-align: left; /* necessary or else doesn't work properly in IE */ +} + +div.ExecutionVisualizer div#legendDiv { + margin-top: 20px; + padding: 0px; + text-align: left; + color: #666; + font-size: 9pt; +} + +div.ExecutionVisualizer div#editCodeLinkDiv { + text-align: center; + /* + margin-top: 12px; + margin-bottom: 4px; + */ + margin: 8px auto; +} + +div.ExecutionVisualizer #errorOutput { + color: #e93f34; /* should match brightRed JavaScript variable */ + font-size: 12pt; + padding: 2px; + line-height: 1.5em; + margin-bottom: 4px; +} + +/* VCR control buttons for stepping through execution */ + +div.ExecutionVisualizer #vcrControls { + margin: 15px auto; + /*width: 100%;*/ + text-align: center; +} + +div.ExecutionVisualizer #vcrControls button { + margin-left: 2px; + margin-right: 2px; +} + +div.ExecutionVisualizer #vcrControls #curInstr { + margin-left: 4px; + margin-right: 4px; +} + +div.ExecutionVisualizer #pyStdout { + border: 1px solid #999999; + font-size: 12pt; + padding: 4px; + font-family: Andale mono, monospace; + + overflow: auto; /* to look pretty on IE */ + /* make sure textarea doesn't grow and stretch */ + resize: none; +} + + +div.ExecutionVisualizer .vizFrame { + margin-bottom: 20px; + padding-left: 8px; + border-left: 2px solid #cccccc; +} + + +/* Rendering of primitive types */ + +div.ExecutionVisualizer .nullObj { + font-size: 8pt; +} + +div.ExecutionVisualizer .stringObj, +div.ExecutionVisualizer .customObj, +div.ExecutionVisualizer .funcObj { + font-family: Andale mono, monospace; + white-space: nowrap; +} + +div.ExecutionVisualizer .retval { + font-size: 9pt; +} + +div.ExecutionVisualizer .stackFrame .retval { + color: #e93f34; /* highlight non-zombie stack frame return values - + should match brightRed JavaScript variable */ +} + +/* Rendering of basic compound types */ + +div.ExecutionVisualizer table.listTbl, +div.ExecutionVisualizer table.tupleTbl, +div.ExecutionVisualizer table.setTbl { + background-color: #ffffc6; +} + + +div.ExecutionVisualizer table.listTbl { + border: 0px solid black; + border-spacing: 0px; +} + +div.ExecutionVisualizer table.listTbl td.listHeader, +div.ExecutionVisualizer table.tupleTbl td.tupleHeader { + padding-left: 4px; + padding-top: 2px; + padding-bottom: 3px; + font-size: 8pt; + color: #777; + text-align: left; + border-left: 1px solid #555555; +} + +div.ExecutionVisualizer table.tupleTbl { + border-spacing: 0px; + color: black; + + border-bottom: 1px solid #555555; /* must match td.tupleHeader border */ + border-top: 1px solid #555555; /* must match td.tupleHeader border */ + border-right: 1px solid #555555; /* must match td.tupleHeader border */ +} + + +div.ExecutionVisualizer table.listTbl td.listElt { + border-bottom: 1px solid #555555; /* must match td.listHeader border */ + border-left: 1px solid #555555; /* must match td.listHeader border */ +} + +div.ExecutionVisualizer table.tupleTbl td.tupleElt { + border-left: 1px solid #555555; /* must match td.tupleHeader border */ +} + +div.ExecutionVisualizer table.customObjTbl { + background-color: white; + color: black; + border: 1px solid black; +} + +div.ExecutionVisualizer table.customObjTbl td.customObjElt { + padding: 5px; +} + +div.ExecutionVisualizer table.listTbl td.listElt, +div.ExecutionVisualizer table.tupleTbl td.tupleElt { + padding-top: 0px; + padding-bottom: 8px; + padding-left: 10px; + padding-right: 10px; + vertical-align: bottom; +} + +div.ExecutionVisualizer table.setTbl { + border: 1px solid #555555; + border-spacing: 0px; + text-align: center; +} + +div.ExecutionVisualizer table.setTbl td.setElt { + padding: 8px; +} + + +div.ExecutionVisualizer table.dictTbl, +div.ExecutionVisualizer table.instTbl, +div.ExecutionVisualizer table.classTbl { + border-spacing: 1px; +} + +div.ExecutionVisualizer table.dictTbl td.dictKey, +div.ExecutionVisualizer table.instTbl td.instKey, +div.ExecutionVisualizer table.classTbl td.classKey { + background-color: #faebbf; +} + +div.ExecutionVisualizer table.dictTbl td.dictVal, +div.ExecutionVisualizer table.instTbl td.instVal, +div.ExecutionVisualizer table.classTbl td.classVal { + background-color: #ffffc6; +} + + +div.ExecutionVisualizer table.dictTbl td.dictKey, +div.ExecutionVisualizer table.instTbl td.instKey, +div.ExecutionVisualizer table.classTbl td.classKey { + padding-top: 12px /*15px*/; + padding-bottom: 5px; + padding-left: 10px; + padding-right: 4px; + + text-align: right; +} + +div.ExecutionVisualizer table.dictTbl td.dictVal, +div.ExecutionVisualizer table.instTbl td.instVal, +div.ExecutionVisualizer table.classTbl td.classVal { + padding-top: 12px /*15px*/; + padding-bottom: 5px; + padding-right: 10px; + padding-left: 4px; +} + + +div.ExecutionVisualizer table.classTbl td, +div.ExecutionVisualizer table.instTbl td { + border-bottom: 1px #888 solid; +} + +div.ExecutionVisualizer table.classTbl td.classVal, +div.ExecutionVisualizer table.instTbl td.instVal { + border-left: 1px #888 solid; +} + +div.ExecutionVisualizer table.classTbl { + border-collapse: collapse; + border: 1px #888 solid; +} + +/* only add a border to dicts if they're embedded within another object */ +div.ExecutionVisualizer td.listElt table.dictTbl, +div.ExecutionVisualizer td.tupleElt table.dictTbl, +div.ExecutionVisualizer td.dictVal table.dictTbl, +div.ExecutionVisualizer td.instVal table.dictTbl, +div.ExecutionVisualizer td.classVal table.dictTbl { + border: 1px #888 solid; +} + + +div.ExecutionVisualizer .typeLabel { + font-size: 8pt; + color: #222222; + margin-bottom: 1px; +} + +div.ExecutionVisualizer div#stack, +div.ExecutionVisualizer div#globals_area { + padding-left: 10px; + padding-right: 30px; + + /* no longer necessary ... */ + /*float: left;*/ + /* border-right: 1px dashed #bbbbbb; */ +} + +div.ExecutionVisualizer div.stackFrame, +div.ExecutionVisualizer div.zombieStackFrame { + background-color: #ffffff; + margin-bottom: 15px; + padding: 2px; + padding-left: 6px; + padding-right: 6px; + padding-bottom: 4px; + font-size: 10pt; +} + +div.ExecutionVisualizer div.zombieStackFrame { + border-left: 1px dotted #aaa; + /*color: #c0c0c0;*/ + color: #b0b0b0; +} + +div.ExecutionVisualizer div.highlightedStackFrame { + background-color: #d7e7fb; + + /*background-color: #c0daf8;*/ + /*background-color: #9eeaff #c5dfea;*/ +} + +div.ExecutionVisualizer div.stackFrame, +div.ExecutionVisualizer div.highlightedStackFrame { + border-left: 1px solid #a6b3b6; +} + + +div.ExecutionVisualizer div.stackFrameHeader { + font-family: Andale mono, monospace; + font-size: 10pt; + margin-top: 4px; + margin-bottom: 3px; + white-space: nowrap; +} + +div.ExecutionVisualizer td.stackFrameVar { + text-align: right; + padding-right: 8px; + padding-top: 3px; + padding-bottom: 3px; +} + +div.ExecutionVisualizer td.stackFrameValue { + text-align: left; + border-bottom: 1px solid #aaaaaa; + border-left: 1px solid #aaaaaa; + + padding-top: 3px; + padding-left: 3px; + padding-bottom: 3px; +} + +div.ExecutionVisualizer .stackFrameVarTable tr { + +} + +div.ExecutionVisualizer .stackFrameVarTable { + text-align: right; + padding-top: 3px; + + /* right-align the table */ + margin-left: auto; + margin-right: 0px; +} + +div.ExecutionVisualizer div#heap { + float: left; + padding-left: 30px; +} + +div.ExecutionVisualizer td.toplevelHeapObject { + /* needed for d3 to do transitions */ + padding-left: 8px; + padding-right: 8px; + padding-top: 4px; + padding-bottom: 4px; + /* + border: 2px dotted white; + border-color: white; + */ +} + +div.ExecutionVisualizer table.heapRow { + margin-bottom: 10px; +} + +div.ExecutionVisualizer div.heapObject { + padding-left: 2px; /* leave a TINY amount of room for connector endpoints */ +} + +div.ExecutionVisualizer div#stackHeader { + margin-bottom: 15px; + text-align: right; +} + +div.ExecutionVisualizer div#heapHeader { + /*margin-top: 2px; + margin-bottom: 13px;*/ + margin-bottom: 15px; +} + +div.ExecutionVisualizer div#stackHeader, +div.ExecutionVisualizer div#heapHeader { + color: #333333; + font-size: 10pt; +} + +div.ExecutionVisualizer #executionSlider { + width: 500px; + margin-top: 20px; + margin-bottom: 5px; + + margin-left: auto; + margin-right: auto; +} + +div.ExecutionVisualizer #executionSliderCaption { + font-size: 8pt; + color: #666666; + margin-top: 15px; +} + +div.ExecutionVisualizer #executionSliderFooter { + margin-top: -7px; /* make it butt up against #executionSlider */ +} + + +/* darken slider handle a bit */ +div.ExecutionVisualizer .ui-slider .ui-slider-handle { + border: 1px solid #999; +} + diff --git a/v3/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/v3/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png new file mode 100644 index 000000000..954e22dbd Binary files /dev/null and b/v3/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png differ diff --git a/v3/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png b/v3/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png new file mode 100644 index 000000000..64ece5707 Binary files /dev/null and b/v3/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png differ diff --git a/v3/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png b/v3/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png new file mode 100644 index 000000000..abdc01082 Binary files /dev/null and b/v3/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png differ diff --git a/v3/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png b/v3/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png new file mode 100644 index 000000000..9b383f4d2 Binary files /dev/null and b/v3/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png differ diff --git a/v3/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png b/v3/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png new file mode 100644 index 000000000..a23baad25 Binary files /dev/null and b/v3/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png differ diff --git a/v3/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png b/v3/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 000000000..42ccba269 Binary files /dev/null and b/v3/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png differ diff --git a/v3/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/v3/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png new file mode 100644 index 000000000..39d5824d6 Binary files /dev/null and b/v3/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png differ diff --git a/v3/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/v3/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png new file mode 100644 index 000000000..f1273672d Binary files /dev/null and b/v3/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png differ diff --git a/v3/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png b/v3/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png new file mode 100644 index 000000000..359397acf Binary files /dev/null and b/v3/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png differ diff --git a/v3/css/ui-lightness/images/ui-icons_222222_256x240.png b/v3/css/ui-lightness/images/ui-icons_222222_256x240.png new file mode 100644 index 000000000..b273ff111 Binary files /dev/null and b/v3/css/ui-lightness/images/ui-icons_222222_256x240.png differ diff --git a/v3/css/ui-lightness/images/ui-icons_228ef1_256x240.png b/v3/css/ui-lightness/images/ui-icons_228ef1_256x240.png new file mode 100644 index 000000000..a641a371a Binary files /dev/null and b/v3/css/ui-lightness/images/ui-icons_228ef1_256x240.png differ diff --git a/v3/css/ui-lightness/images/ui-icons_ef8c08_256x240.png b/v3/css/ui-lightness/images/ui-icons_ef8c08_256x240.png new file mode 100644 index 000000000..85e63e9f6 Binary files /dev/null and b/v3/css/ui-lightness/images/ui-icons_ef8c08_256x240.png differ diff --git a/v3/css/ui-lightness/images/ui-icons_ffd27a_256x240.png b/v3/css/ui-lightness/images/ui-icons_ffd27a_256x240.png new file mode 100644 index 000000000..e117effa3 Binary files /dev/null and b/v3/css/ui-lightness/images/ui-icons_ffd27a_256x240.png differ diff --git a/v3/css/ui-lightness/images/ui-icons_ffffff_256x240.png b/v3/css/ui-lightness/images/ui-icons_ffffff_256x240.png new file mode 100644 index 000000000..42f8f992c Binary files /dev/null and b/v3/css/ui-lightness/images/ui-icons_ffffff_256x240.png differ diff --git a/v3/css/ui-lightness/jquery-ui-1.8.21.custom.css b/v3/css/ui-lightness/jquery-ui-1.8.21.custom.css new file mode 100644 index 000000000..1bc08fb33 --- /dev/null +++ b/v3/css/ui-lightness/jquery-ui-1.8.21.custom.css @@ -0,0 +1,316 @@ +/*! + * jQuery UI CSS Framework 1.8.21 + * + * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; } +.ui-helper-clearfix:after { clear: both; } +.ui-helper-clearfix { zoom: 1; } +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/*! + * jQuery UI CSS Framework 1.8.21 + * + * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; } +/* pgbovine - switch border from #dddddd to #ccc */ +.ui-widget-content { border: 1px solid #ccc; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; } +.ui-widget-content a { color: #333333; } +.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } +.ui-widget-header a { color: #ffffff; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; } + +/* pgbovine - eliminate hover colors */ +/* +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; } +.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; } +*/ + +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } + +/* Overlays */ +.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); } +.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/*! + * jQuery UI Slider 1.8.21 + * + * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; } diff --git a/v3/css/ui-lightness/jquery-ui-1.8.24.custom.css b/v3/css/ui-lightness/jquery-ui-1.8.24.custom.css new file mode 100644 index 000000000..71156ca03 --- /dev/null +++ b/v3/css/ui-lightness/jquery-ui-1.8.24.custom.css @@ -0,0 +1,316 @@ +/*! + * jQuery UI CSS Framework 1.8.24 + * + * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; } +.ui-helper-clearfix:after { clear: both; } +.ui-helper-clearfix { zoom: 1; } +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/*! + * jQuery UI CSS Framework 1.8.24 + * + * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; } +/* pgbovine - switch border from #dddddd to #ccc */ +.ui-widget-content { border: 1px solid #ccc; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; } +.ui-widget-content a { color: #333333; } +.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } +.ui-widget-header a { color: #ffffff; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; } + +/* pgbovine - eliminate hover colors */ +/* +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; } +.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; } +*/ + +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } + +/* Overlays */ +.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); } +.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/*! + * jQuery UI Slider 1.8.24 + * + * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; } diff --git a/v3/docs/developer-overview.md b/v3/docs/developer-overview.md new file mode 100644 index 000000000..588b961c0 --- /dev/null +++ b/v3/docs/developer-overview.md @@ -0,0 +1,254 @@ +# Overview for Developers + +This document is a starting point for anyone who wants to hack on +Online Python Tutor (thereafter abbreviated as OPT). View it online at: + +https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3/docs/developer-overview.md + +Look at the Git history to see when this document was last updated; the more time +elapsed since that date, the more likely things are out-of-date. + +I'm assuming that you're competent in Python, JavaScript, command-line-fu, and Google-fu, +so I won't do much hand-holding in these directions. + +This guide isn't meant to be comprehensive; rather, it's just a starting point for learning about the code +and development workflow. You will undoubtedly still be confused about details after reading it, so +feel free to email philip@pgbovine.net if you have questions. + +And please excuse the sloppy writing; I'm not trying to win any style awards here :) + + +## Getting Started: Running OPT locally on your machine + +When you check out OPT from GitHub, it's configured by default to run on Google App Engine +(but it can also run fine on a CGI-enabled webserver such as Apache). + +To run a local instance, download/install +the Google App Engine [Python SDK](https://developers.google.com/appengine/downloads) +for your OS and then run: + + cd OnlinePythonTutor/ + dev_appserver.py v3/ + +Now if you visit http://localhost:8080/ on your browser, you should see the main OPT editor screen. + +Congrats! Now you can edit any code in `OnlinePythonTutor/v3/` and reload the page to test your changes. +You don't need to shut down and restart the local webserver after every edit. + +btw, using the default configuration, http://localhost:8080/ is actually loading the `v3/visualize.html` HTML file. +(See `v3/pythontutor.py` for details.) + +The benefit of running OPT locally is that you can test all changes without going online. So even +if you're eventually going to deploy on something other than Google App Engine, it still makes sense to install locally +for development and testing. The main caveat here is that Google App Engine currently runs Python 2.7, +so you won't be able to test Python 3 locally this way. + +Here is a [blog post by a Hacker School student](http://theworldsoldestintern.wordpress.com/2012/10/15/installing-online-python-tutor-on-your-laptop-localhost8080/) +who set up OPT on his Ubuntu laptop. (btw [Hacker School](http://www.hackerschool.com/) is worth checking out!) + + +## Overall system architecture + +OPT consists of a pure-Python backend and an HTML/CSS/JavaScript frontend. +Here is a typical user interaction sequence: + +1. The user visits [visualize.html](http://pythontutor.com/visualize.html) and types in Python code in the web-based text editor. +2. The user hits the "Visualize execution" button. +3. The OPT frontend sends the user's Python code as a string to the backend by making an Ajax GET request. +4. The backend executes the Python code under the supervision of the Python [bdb](http://docs.python.org/library/bdb.html) debugger, produces an execution trace, and sends that trace back to the frontend in JSON format. +5. The frontend switches to a visualization display, parses the execution trace, and renders the appropriate stack frames, heap objects, and pointers. +6. When the user interacts with the frontend by stepping through execution points, the frontend renders the proper data structures **without** making another subsequent call to the backend. + +All relevant files are located in `OnlinePythonTutor/v3/`, since v3 is the currently-active version. + +The frontend consists of: +``` +visualize.html +css/opt-frontend.css +js/opt-frontend.js +css/pytutor.css +js/pytutor.js + +``` + +`pytutor.[js|css]` contain the bulk of the OPT frontend code. In theory, you should be able to **embed** an +OPT visualization into any webpage with one line of JavaScript that looks like: + +```javascript +var v = new ExecutionVisualizer(domRoot, traceFromBackend, optionalParams); +``` + +Thus, the design of `pytutor.[js|css]` is meant to be as modular as possible, which means abstracting +everything in an `ExecutionVisualizer` class. This way, you can create multiple visualizer objects +to embed on the same webpage without them interfering with one another. + +`opt-frontend.[js|css]` contain code that is specific to the `visualize.html` page and doesn't make sense for, say, +embedding OPT visualizations into other webpages. + +The backend consists of: +``` +pg_logger.py - the main entry point to the OPT backend +pg_encoder.py - encodes the trace format into JSON to send to frontend +generate_json_trace.py - script to test the backend independent of the frontend +app.yaml, pythontutor.py - files for deploying on Google App Engine +web_exec.py - example CGI script for deploying backend on CGI-enabled webservers +``` + +The backend works with both Python 2 and 3. + +## Hacking the backend + +To modify the backend, you will mainly need to understand `pg_logger.py` and `pg_encoder.py`. + + +### Two quick tips for starters + +Since the backend's details might change, rather than documenting every last detail, I'd rather equip you with +the knowledge needed to experiment with the code yourself, since that knowledge is less likely to get outdated. + +First, run `generate_json_trace.py` to see the trace that the backend generates for a given input Python program. +This is the main way to do an "end-to-end" test on your backend modifications. For example, if you want the backend +to process a Python program stored in `example.py`, then run: + +``` +python generate_json_trace.py example.py +``` + +Doing so will print a JSON-formatted execution trace to stdout. +This data is exactly what the backend sends to the frontend. +(Actually not quite: The sent trace is actually compressed to eliminate all extraneous spaces and newlines. +But for testing purposes, I've made the trace more human-readable.) + +Second, when you're "print debugging" in the backend, you can't simply print to stdout, since `pg_logger.py` +*redirects* stdout to a buffer. Instead, you need to write all of your print statements as: + +```python +print >> sys.stderr, +``` + +so that the output goes to stderr. + +The easiest way to debug or investigate how some part of the code works is to **insert in print statements (to stderr) +and then run `generate_json_trace.py` on small code examples**. Trust me -- being able to do this is way more +effective than memorizing detailed documentation (which could be outdated by the time you read it). + + +### Backend control flow + +Let's now trace through a typical backend run to get a sense of how it works. + +The main entry point is this function in `pg_logger.py`: + +```python +def exec_script_str(script_str, cumulative_mode, finalizer_func): +``` + +`script_str` contains the entire string contents of the Python program for the backend to execute. +Ignore `cumulative_mode` for now (just set it to `False`). `finalizer_func` is the function to call +after the backend is done generating a trace. + +Let's look at how `generate_json_trace.py` calls `exec_script_str` (using a simplified version of its code): + +```python +# simplified version of generate_json_trace.py +import pg_logger, json + +def json_finalizer(input_code, output_trace): + ret = dict(code=input_code, trace=output_trace) + json_output = json.dumps(ret, indent=2) + print(json_output) + +pg_logger.exec_script_str(open("example.py").read(), False, json_finalizer) +``` + +In this simplified example, the script opens `example.py`, reads its contents into a string, and passes that string +into `exec_script_str`. The finalizer function is `json_finalizer`, which takes two parameters -- +the original code from `example.py` (`input_code`) and the execution trace that it produced (`output_trace`) -- +inserts both into a dict, encodes that dict as a JSON object, and then prints that JSON object to stdout. +That's why when you run `generate_json_trace.py`, its output is a JSON object printed to stdout. + +Note that if you pass in another finalizer function, then you can do other actions like postprocessing +the output trace or saving it to a file rather than printing to stdout. + +Now that you know what's passed into `exec_script_str` and what comes out of it, let's dive into its guts +to see how that all-important execution trace (`output_trace`) is produced. +Here is the code for `exec_script_str` in `pg_logger.py`: + +```python +def exec_script_str(script_str, cumulative_mode, finalizer_func): + logger = PGLogger(cumulative_mode, finalizer_func) + try: + logger._runscript(script_str) + except bdb.BdbQuit: + pass + finally: + logger.finalize() +``` + +This code creates a `PGLogger` object then calls its `_runscript` method to run the user's program (from `example.py`), +which is passed in as `script_str`. +After execution finishes (possibly due to a bdb-related exception), the `finalize` method is run. This method +does some postprocessing of the trace (`self.trace`) and then finally calls the user-supplied `finalizer_func`. + +`PGLogger` is a subclass of [bdb.Bdb](http://docs.python.org/library/bdb.html#bdb.Bdb), +which is the Python standard debugger module. It stores lots of fields to record what +is going on as it executes the program that the user passed in as `script_str`. Its `_runscript` method +is where the action starts. This method first sets up a sandboxed environment containing a restricted +set of builtins (`user_builtins`) and redirection for stdout (`user_stdout`), and then executes this code: + +```python +try: + self.run(script_str, user_globals, user_globals) +except SystemExit: + raise bdb.BdbQuit +``` + +The `self.run` method is actually [inherited from bdb.Bdb](http://docs.python.org/library/bdb.html#bdb.Bdb.run). +It executes the contents of `script_str` in a modified global environment (`user_globals`). + +Ok, the debugger has just started executing the program that the user passed in (from `example.py` in our example). +What happens now? Here's where the magic happens. Look at the methods called +`user_call`, `user_return`, `user_exception`, and `user_line`. Again, those are all +[inherited from bdb.Bdb](http://docs.python.org/library/bdb.html#bdb.Bdb); +take a minute to read up on what they're supposed to do. + +As the user's program is running, bdb +will pause execution at every function call, return, exception, and single-line step (most common). +It then transfers control over to the respective handler method. +Since `PGLogger` overrides those handler methods, it can hijack control at +crucial points during program execution to do what it needs to do. + +Since `PGLogger` does similar things regardless of why execution was paused (function call, return, exception, or single-line step), +all handlers dispatch to a giant method called `interaction`. + +During a call to `interaction`, the backend collects the state of the stack and all run-time data and then creates a +trace entry (`trace_entry` dict). Then it appends `trace_entry` onto `self.trace`: + +```python +self.trace.append(trace_entry) +``` + +Every time bdb pauses the user's program's execution and dispatches to `interaction` in `PGLogger`, one new trace +entry is created. At the end of execution, `self.trace` contains as many trace entries as there were "steps" +in the user's program execution. Each step more-or-less corresponds to one line being executed. +(To guard against infinite loops, `PGLogger` terminates execution when `MAX_EXECUTED_LINES` steps have been executed.) + +### Execution Trace Format + +A lot of complicated stuff happens within `interaction` to grab a snapshot of the execution state and encode +it into an execution trace entry. Insert a bunch of print statements (remember, to stderr) to get a sense of what's going on. + +In addition, I've written up a separate document describing the exact format of an execution trace: + +https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3/docs/opt-trace-format.md + + +### Backend regression tests + +If you're paranoid about your backend changes breaking stuff, please bug me, and I'll write up docs +on how to run the regression test suite. + + +## Hacking the frontend + +(TODO: write me sometime!) \ No newline at end of file diff --git a/v3/docs/embedding-HOWTO.md b/v3/docs/embedding-HOWTO.md new file mode 100644 index 000000000..d03e6afa7 --- /dev/null +++ b/v3/docs/embedding-HOWTO.md @@ -0,0 +1,86 @@ +# Embedding Online Python Tutor visualizations + +This document is a starting point for anyone who wants to embed +Online Python Tutor (OPT) visualizations in their webpage. View it online at: + +https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3/docs/embedding-HOWTO.md + +Look at the Git history to see when this document was last updated; the more time +elapsed since that date, the more likely things are out-of-date. + +I'm assuming that you're competent in Python, JavaScript, command-line-fu, and Google-fu, +so I won't do much hand-holding in these directions. + +This guide isn't meant to be comprehensive; you will undoubtedly still +be confused about details after reading it, so feel free to email +philip@pgbovine.net if you have questions. + +And please excuse the sloppy writing; I'm not trying to win any style awards here :) + +## iframe embedding + +An easy (although somewhat limited) way to embed an OPT visualization on your website is to enclose it within an [iframe](http://www.w3schools.com/tags/tag_iframe.asp). + +If you generate a visualization (e.g., click here) +and then click the "Generate embed code" button at the bottom of the page, the following code will be generated: + +```html + +``` + +If you copy-and-paste the above code into your HTML webpage, then it will embed the given visualization as an iframe. + +See `v3/iframe-embed-demo.html` for a working demo showing several embedded iframes ([online here](http://pythontutor.com/iframe-embed-demo.html)). + + +### iframe embedding parameters + +You can customize the iframe's size by adjusting the `width` and `height` parameters. All other parameters are passed +after the hash mark (`#` character) in the `src=` URL string. Note that OPT uses the hash mark rather than the usual +question mark `?` query string. Here are the currently-supported parameters: + +- `code` - The Python code to visualize (mandatory: URL-encoded string) +- `py` - Python interpreter version (mandatory: `2` for Python 2.7 or `3` for Python 3.2) +- `verticalStack` - Set to `true` if you want the code and visualization to stack atop one another (optional) +- `curInstr` - A (zero-indexed) integer of the execution point to directly jump to in the visualization (optional) +- `cumulative` - Set to `true` if you want exited functions to be displayed (optional) + + + +## Direct embedding + +The iframe-based approach has some limitations (e.g., hard to dynamically resize the enclosing iframe, +cannot run while offline, limited parameter choices). +Here are instructions for a more powerful but harder-to-use alternative -- directly embedding visualizations. + + +### High-Level Overview + +To directly embed a visualization, you: + +1. Run the target Python program offline to generate an execution trace, which is one (really, really long) +string representing a JavaScript (JSON) object. +2. Copy that long string into a JavaScript .js file. +3. Include some other stuff in your .js file and then embed it within your HTML webpage. + +Note that the embedded visualization is **read-only** -- that is, the user can interact with the visualization +by stepping forward and backward, but they cannot edit the code. +If the user wants to click the 'Edit code' button to edit the code, then they are +brought to the [code editor page](http://pythontutor.com/visualize.html). + +Also, note that the visualization is run client-side; thus, after the user loads the webpage (from the Internet +or, say, a USB drive), they can play with the visualization without an Internet connection. + +Finally, multiple visualizations can be embedded in a single HTML webpage, although you need to be careful +to redraw the SVG arrows when page elements are resized or moved. + +### The Nitty-Gritty + +Let's attempt to go [literate programming](http://en.wikipedia.org/wiki/Literate_programming) style now ... load up +[embedding-demo.html](http://pythontutor.com/embedding-demo.html) in +your browser to see a demo. And then view its [source code](https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3/embedding-demo.html) and follow the instructions there, +which should then lead you to `v3/embedding-demo.js`. + +Everything you need to know should be in the demo code! diff --git a/v3/docs/embedding-HOWTO.txt b/v3/docs/embedding-HOWTO.txt new file mode 100644 index 000000000..49944948d --- /dev/null +++ b/v3/docs/embedding-HOWTO.txt @@ -0,0 +1,4 @@ +This document has been moved to embedding-HOWTO.md + +View it online at: +https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3/docs/embedding-HOWTO.md diff --git a/v3/docs/opt-trace-format.md b/v3/docs/opt-trace-format.md new file mode 100644 index 000000000..a6cf9dcfa --- /dev/null +++ b/v3/docs/opt-trace-format.md @@ -0,0 +1,750 @@ +# Execution Trace Format + +This document describes the execution trace format that serves as the +interface between the frontend and backend of Online Python Tutor +(thereafter abbreviated as OPT). + +It is a starting point for anyone who wants to create a different +backend (e.g., for another programming language) or a different frontend +(e.g., for visually-impaired students). View it online at: + +https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3/docs/opt-trace-format.md + +Look at the Git history to see when this document was last updated; the +more time elapsed since that date, the more likely things are +out-of-date. + +I'm assuming that you're competent in Python, JSON, command-line-fu, and +Google-fu. Feel free to email philip@pgbovine.net if you have questions. + +And please excuse the sloppy writing; I'm not trying to win any style awards here :) + + +## Trace Overview + +Before you continue reading, I suggest for you to first skim the Overview for Developers doc: +https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3/docs/developer-overview.md + +Pay particular attention to what `generate_json_trace.py` is and how to run it: +https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3/docs/developer-overview.md#two-quick-tips-for-starters + +Let's start with a simple example. Create an `example.py` file with the following contents: +```python +x = 5 +y = 10 +z = x + y +``` + +Now run: +``` +python generate_json_trace.py example.py +``` + +and you should see the following output: +```javascript +{ + "code": "x = 5\ny = 10\nz = x + y\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": 5 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "z": 15 + }, + "heap": {}, + "line": 3, + "event": "return" + } + ] +} +``` + +Recall that when OPT is deployed on a webserver, the backend generates this trace and sends it to the frontend, +where it will be turned into a visualization. + +[Click here](http://pythontutor.com/visualize.html#code=x+%3D+5%0Ay+%3D+10%0Az+%3D+x+%2B+y&mode=display&cumulative=false&py=2&curInstr=0) +to see the visualization of this trace (open it in a new window if possible). +Note that the trace object contains *all* of the information required to create this visualization. + +The trace is a JSON object with two fields: `code` is the string contents of the code +to be visualized, and `trace` is the actual execution trace, which consists of a list of execution points. + +In the above example, `trace` is a list of four elements since there are four execution points. +If you step through the visualization, you'll notice that there are exactly four steps, one for each +element of the `trace` list. +(Sometimes the frontend will filter out some redundant entries in `trace`, but a simplifying assumption +is that `trace.length` is the number of execution steps that the frontend renders.) + +Ok, still with me? Let's now dig into what an individual element in `trace` looks like. + + +## Execution Point Objects + +The central type of object in a trace is an "execution point", which represents the state of the computer's (abstract) +memory at a certain point in execution. Recall that a trace is an ordered list of execution points. + +The key concept to understand is that the frontend renders an execution point by simply looking at +the contents of the corresponding execution point object, **without consulting any of its neighbors**. + +Ok, let's now look at the **four** execution points in our above example in order. The first point +is what the frontend visualizes when it says "Step 1 of 3": + +```javascript + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + } +``` + +This is pretty much what an "empty" execution point object looks like. `line` shows the line number of the +line that is *about to execute*, which is line 1 in this case. And `event` is `step_line`, which indicates +that an ordinary single-line step event is about to occur. `func_name` is the function that's currently +executing: In this case, `` is the faux name for top-level code that's not in any function. +All of the other fields are empty, and if you look at the visualization, nothing is rendered in the "Frames" +or "Objects" panes. + +Ok now let's look at the second point, which corresponds to the frontend visualization when it says +"Step 2 of 3": + +```javascript + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": 5 + }, + "heap": {}, + "line": 2, + "event": "step_line" + } +``` + +Ok note that `line` is now 2, which means that line 2 is *about* to execute (yes, this convention is a bit confusing, +but it's what the bdb debugger gives us). `globals` is now populated with one key-value pair: the global variable +`x` has a value of `5`. That makes sense since we just executed line 1 (from the previous execution point), +which was the code `x = 5`. If you look at the +[visualization at this step](http://pythontutor.com/visualize.html#code=x+%3D+5%0Ay+%3D+10%0Az+%3D+x+%2B+y&mode=display&cumulative=false&py=2&curInstr=1), +you'll see that `x` has been assigned to `5`. + +Ok let's keep marching to the next execution point, which is the one that corresponds to "Step 3 of 3" +in the frontend: + +```javascript + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5 + }, + "heap": {}, + "line": 3, + "event": "step_line" + } +``` + +Now `line` is 3, because we're about to execute line 3 (we just executed lines 1 and 2). Notice that there is a +new key-value pair in`globals` showing that `y` has been assigned to `10`. No surprises here, since we just +executed the line `y = 10`. + +Ok now this is where I want to talk about `ordered_globals`, which is a list of global variables (i.e., +keys in `globals`) in the order that the frontend should visualize them. The backend appends variable +names in their order of appearance throughout execution. Why is this list necessary? Because `globals` +is an object whose keys are unsorted, so if you don't also keep an `ordered_globals` sorted list, +then the visualization might end up being jarring. For instance, at one execution point, it might +render `x` and then `y`, and at the next execution point, it might render `y` and then `x`, thereby +causing the visualization to "jitter" unnecessarily. And I've found that it looks aesthetically pleasing +when variables are sorted in their order of appearance as you step forwards through execution. + +Still with me? Ok, let's get to the final execution point, which corresponds to the frontend displaying +"Program terminated" ([click here](http://pythontutor.com/visualize.html#code=x+%3D+5%0Ay+%3D+10%0Az+%3D+x+%2B+y&mode=display&cumulative=false&py=2&curInstr=3) +to jump directly there). + +```javascript + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "z": 15 + }, + "heap": {}, + "line": 3, + "event": "return" + } +``` + +This time, the event is a `return`, which signifies "returning" from the top-level module code (meaning the program +has terminated). Note that now there is another new variable `z`, which is bound to `15` since `z = x + y` just executed. +Note that, again, `ordered_globals` shows all three variables in their order of appearance. + +Ok, that's it for the basic tour. Next let's talk about what happens when the `heap` field isn't empty. + + +## Heap Objects + +The previous example contained only primitive values that JSON could encode directly within the `globals` object. +JSON natively supports numbers, strings, and boolean values (which map well to Python's "primitive" data types). +But what happens when the user's program contains compound +Python data types such as lists, tuples, dicts, sets, etc.? + +Create an `example.py` file with the following contents: +```python +x = [1, 2, 3] +y = ('Alice', 'Bob', 'Cindy') +z = {'carrot': 'vegetable', 'mouse': 'animal', 'rock': 'mineral'} +``` + +You should know how to generate a trace by now. The trace again contains **four** elements since there are +four execution steps (one for the very beginning of execution plus three executed lines). + +"Step 1 of 3" is boring since nothing is displayed. Let's jump to "Step 2 of 3" +(click here) + +The visualization now shows `x` pointing to a list containing `[1, 2, 3]`. This is the corresponding execution +point object: + +```javascript + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 2, + "event": "step_line" + } +``` + +Note that in `globals`, `x` now refers to a `["REF", 1]` object, which means a *reference* (pointer) to a heap +object with an ID of 1. + +Let's now look at `heap`, which is a mapping of heap object IDs to their contents. The current heap has one +object with an ID of 1. That object is a list of [1, 2, 3], which is encoded in JSON as: + +```javascript +["LIST", 1, 2, 3] +``` + +Let's skip forward to the end of execution ("Program terminated"): +click here + +Now there are three variables -- `x` points to a list, `y` points to a tuple, and `z` points to a dict. +This execution point object is getting kinda big: + +```javascript + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ], + "2": [ + "TUPLE", + "Alice", + "Bob", + "Cindy" + ], + "3": [ + "DICT", + [ + "carrot", + "vegetable" + ], + [ + "mouse", + "animal" + ], + [ + "rock", + "mineral" + ] + ] + }, + "line": 3, + "event": "return" + } +``` + +Note that in `globals`, `x` refers to heap object 1, `y` to heap object 2, and `z` to 3. If you then look at `heap`, +you'll see that objects 1, 2, and 3 map to the corresponding list, tuple, and dict, respectively. + +Look at the comments at the top of `pg_encoder.py` to learn the JSON encoding formats for various Python data types: + +https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3/pg_encoder.py + +The basic idea behind the encoding format is that each compound object is encoded as a JSON list +where the first element is a string "tag" identifying its type (e.g., "LIST", "TUPLE", "DICT"). + +## Heap-to-Heap References + +In the above example, the heap objects contained only primitives (numbers and strings), which can be directly +encoded within those objects' representations in `heap`. + +But heap objects can themselves point to other heap objects. Let's look at the following example: + +```python +c = (1, (2, None)) +d = (1, c) +``` + +Jump to the end of execution and notice that: + +- `c` points to a tuple +- the second element of that tuple points to another tuple +- `d` points to a tuple whose second element points to what `c` points to + +Let's look at the execution point object that corresponds to this visualization: + +```javascript + { + "ordered_globals": [ + "c", + "d" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "c": [ + "REF", + 1 + ], + "d": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + null + ], + "3": [ + "TUPLE", + 1, + [ + "REF", + 1 + ] + ] + }, + "line": 2, + "event": "return" + } +``` + +What's going on here? Let's start with `globals` again. `c` points to heap object 1 (`["REF", 1]`), and `d` points +to heap object 3 (`["REF", 3]`). + +Let's now look at `heap`. Heap object 1 is: + +```javascript +["TUPLE", 1, ["REF", 2]] +``` + +What does this mean? It means that it represents a tuple whose first element is the number `1` and whose +second element is a reference (pointer) to heap object 2. + +Ok let's look at heap object 2: + +```javascript +["TUPLE", 2, null] +``` + +which corresponds to the Python tuple object `(2, None)`. + +Finally, heap object 3 (which `d` points to) is: + +```javascript +["TUPLE", 1, ["REF", 1]] +``` + +which corresponds to the Python object `(1, c)`. + +The ability to put "REF" objects inside of heap objects enables an arbitrary object graph to be +represented in the execution trace. + + +## Capturing `stdout` Output + +The `stdout` field in an execution point object represents the sum total of all output sent to stdout +so far during execution. For example, given this program: + +```python +print 1 +print "two" +print (3, 4, 5) +``` + +The complete trace object is: + +```javascript +{ + "code": "print 1\nprint \"two\"\nprint (3, 4, 5)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "1\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "1\ntwo\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "1\ntwo\n(3, 4, 5)\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "return" + } + ] +} +``` + +By now you should be getting pretty good at reading these objects :) + +Let's just focus on the `stdout` field at each execution point. Note that its contents start as an empty string +at the beginning of execution and then grow incrementally as more stuff is printed to stdout at each +subsequent execution point. If we grep for `stdout` in the trace, we see the following progression: + +```javascript + "stdout": "", + "stdout": "1\n", + "stdout": "1\ntwo\n", + "stdout": "1\ntwo\n(3, 4, 5)\n", +``` + +This isn't rocket science; but just be aware that `stdout` contains the cumulative contents of the stdout +buffer up to that execution point, not only what's been printed by the most recently executed line. + + +## Function Stack Frames + +So far our example programs contained no function calls. Let's now kick it up a notch and see an example +with function calls: + +```python +def foo(x, y, z): + return bar(x, y) + +def bar(a, b): + return baz(a) + +def baz(c): + return c + +result = foo(1, 2, 3) +``` + +Let's jump straight to Step 8 of 10, +when the program is about to return from the call to `baz`. + +Study the visualization for a bit. Note that there are four frames currently on the stack: globals, `foo`, `bar`, and `baz`. +Each frame consists of a name and a mapping between constituent variable names and values. There is a special +variable called `Return value` (stored in the trace as `__return__`), +which represents the value that `baz` is about to return to its caller. + +Let's now look at the execution point object corresponding to this visualization: + +```javascript + { + "ordered_globals": [ + "foo", + "bar", + "baz" + ], + "stdout": "", + "func_name": "baz", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "x", + "y", + "z" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 1, + "b": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a", + "b" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 1, + "c": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "baz", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "baz_f3", + "ordered_varnames": [ + "c", + "__return__" + ] + } + ], + "globals": { + "bar": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ], + "baz": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x, y, z)", + null + ], + "2": [ + "FUNCTION", + "bar(a, b)", + null + ], + "3": [ + "FUNCTION", + "baz(c)", + null + ] + }, + "line": 8, + "event": "return" + }, +``` + +First things first: This is a `return` event occurring on line 8 (the `return c` line in `baz`). The currently-active +function is `baz`. There are three global variables: `foo`, `bar`, and `baz`, which all point to function objects +on the heap. + +The only new kind of field is `stack_to_render`, which is (unsurprisingly) a list of stack frames to render. +In this case, `stack_to_render` contains three elements -- the frames for `foo`, `bar`, and `baz`, in that exact order. +The frontend simply walks down `stack_to_render` and renders each frame in a similar way that it renders global variables. + +Let's now zoom in on one particular frame in `stack_to_render`. Here is the frame for `bar`: + +```javascript + { + "frame_id": 2, + "encoded_locals": { + "a": 1, + "b": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a", + "b" + ] + }, +``` + +For starters, `func_name` is the name of the function, and `is_highlighted` is true only if the current +frame is the "top-most" one (telling the frontend to highlight it in a brighter color). + +`encoded_locals` is a mapping from local variable names to their values, similar to how `globals` +provides a mapping from global variable names to their values. + +`ordered_varnames` is an ordered list of keys from `encoded_locals`, usually sorted by order of appearance +during execution. The global analogue for this field is `ordered_globals`. (I suppose this field should be named +`ordered_locals`, but I haven't gotten around to renaming yet.) + +`frame_id` is an integer that *uniquely* identifies this frame; the first function call (of *any* function) gets +a frame ID of 1, and then subsequent calls get successively increasing frame IDs. + +`unique_hash` is a unique string that identifies this frame. For now, a simple way +to construct `unique_hash` is by concatenating the frame's function name with `frame_id`. +Note that `unique_hash` seems redundant with `frame_id`, since the latter is already unique. +However, you'll see in the "Closures and Zombie Frames" section why `unique_hash` is required. + +Finally, ignore `is_parent`, `is_zombie`, and `parent_frame_id_list` for now. We'll cover those in the more advanced +"Closures and Zombie Frames" section below. + + +## Closures and Zombie Frames (advanced) + +(TODO: WRITE ME!) + +(TODO: talk about needing to append `_p` and `_z` onto `unique_hash` when a frame becomes a parent or zombie, +respectively, since the frontend needs to know when to refresh the display.) diff --git a/v3/docs/project-ideas.md b/v3/docs/project-ideas.md new file mode 100644 index 000000000..08dd3e97c --- /dev/null +++ b/v3/docs/project-ideas.md @@ -0,0 +1,140 @@ +# Project Ideas + +This document provides an overview of some project ideas for extending +Online Python Tutor (thereafter abbreviated as OPT). View it online at: + +https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3/docs/project-ideas.md + +These projects are listed roughly in order of difficulty. + +Email philip@pgbovine.net if you're interested in working on anything here, or if you have other +project ideas. + + +## Enable beautiful printouts of OPT visualizations (easy) + +A lot of instructors want to print out their OPT visualizations to make handouts or lecture notes +for students. +However, the default CSS is optimized for on-screen viewing and not for printing, +so when you try to print the diagrams, they look ugly and unreadable. + +The project involves creating a custom CSS optimized for printing, especially on black-and-white printers. +Here is an example how-to guide to get started creating a CSS print style sheet ... +http://coding.smashingmagazine.com/2011/11/24/how-to-set-up-a-print-style-sheet/ + + +## Implement responsive web UI design for OPT frontend (easy/medium) + +This is a good project for someone interested in visual and web design. + +Implement the principles of [responsive web design](http://en.wikipedia.org/wiki/Responsive_Web_Design) +so that OPT visualizations (and the surrounding user interface) look good on displays of many different sizes +ranging from smartphones to tablets to laptops to giant desktop monitors. + + +## Offline mode for use as a production debugger (medium) + +From a reader comment: "As a teaching tool it is invaluable, not only for teaching python, but for programming in general (what is going on in memory...). +I've actively used it to debug / trace short pieces of code. Any chance of having it offline (and without the limitations of an online tool like the inability to load all modules)? That would make a perfect pdb visualization tool." + +You could imagine running a webserver on localhost and using OPT as a graphical frontend for pdb; interesting idea! + + +## Optimize display of object-oriented programs (medium) + +This is a good project for an object-oriented programming enthusiast. + +Right now OPT naively visualizes all the steps that the Python interpreter takes when executing an +object-oriented program, which leads to all sorts of extraneous variables, frames, and pointers +lying around. + +Click here for an example. + +This project involves cleaning up the execution trace so that object-oriented programs look +sensible when visualized. + + +## Add better Unicode support (medium) + +This project is a great fit for someone familiar with coding in non-English languages. + +Right now, OPT has poor-to-nonexistent Unicode support, so adding it is important for making it friendlier to +non-English audiences. + +Here is one bug report that inspired this project idea: + +""" +I’m having some fun with your nifty Python visualiser. +While trying too see what happens in Unicode strings are processed, +I encountered some odd little quirks such as a unicode character +being replace with a string representation of a Unicode code point +number in denary. + + +click to visualize code snippet + +Changing the first line to + +```python +s = u'\u2015' +``` + +Causes an “unknown error” to be reported, as does the insertion of unicode characters like “—” (em dash) in string literals. + +The following code causes the interpreter to hang. +```python +# -*- coding: utf-8 -*- +s = u'—' +``` +""" + +(Note that Unicode support in Python 2 and 3 involve different subtleties.) + + +## Create an OPT backend for a different programming language (hard) + +This project is great for someone who likes to hack on language implementations and runtimes. + +The OPT frontend can visualize programs written in any mainstream language, not just Python. +This project involves creating a backend for another language (e.g., Ruby, Java, JavaScript, C, C++, Scheme). +All the backend needs to do is to generate an execution trace in the following format ... + +https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3/docs/opt-trace-format.md + +... and the frontend should be able to visualize it! + +For instance, the [Chicory Java trace generator for Daikon](http://groups.csail.mit.edu/pag/daikon/download/doc/daikon_manual_html/daikon_7.html#SEC69) +might be a good basis for writing a Java backend for OPT. + +Also, my +[master's thesis](http://pgbovine.net/projects/pubs/guo-mixedlevel-mengthesis.pdf) from 2006 +describes one possible technique for building a C-language backend based upon the [Valgrind](http://www.valgrind.org) +tool. More importantly, it describes the difficulties involved in creating a robust execution +trace generator for C and C++. It should be much easier to build a backend for a memory- and type-safe language, though :) + + +## Migrate OPT backend to Skulpt (very hard but super cool!) + +This project is appropriate for someone with advanced knowledge of hacking a Python interpreter +who is willing to make a substantive time commitment. + +Right now the OPT backend runs Python code on the server, but it would be super-cool to create a "backend" +that runs entirely in the browser. Modifying Skulpt -- http://www.skulpt.org/ -- is the leading contender here, +since I am in touch with its main developers. + +The basic idea is to use Skulpt to generate a JavaScript trace object (all within the web browser without +a server call) and then construct a new ExecutionVisualizer with that trace object as a parameter. +Read "Direct embedding" and the associated code for more detailed info: +https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3/docs/embedding-HOWTO.md#direct-embedding + + +Main Advantages: + - Enables fine-grained tracing of expression and sub-expression evaluation, which has clear pedagogical benefits; right now OPT can only single-step over one line at a time since it relies on the Python bdb debugger. + - Enables an interactive REPL that incrementally takes in user inputs rather than just executing batch programs; this can lead to better interactivity and responsiveness. + - Supports on-demand evaluation and in-memory storage of (relatively) large data structures such as a 100,000-element dictionary for a spell checker program; right now OPT must send that giant dictionary in a trace (encoded in an inefficient format). + - Works in "offline mode" for students in regions without reliable Internet access + + +Tips & Tricks: + - From Brad Miller: http://blog.bonelakesoftware.com/2011/03/adding-module-to-skulpt.html and http://blog.bonelakesoftware.com/2011/02/python-in-your-browser-in-javascript.html + - From Scott Graham, when I asked him whether Skulpt implements Python 2 or 3: “Mostly 2-ish. Some object hierarchy things take after 3's simplified semantics.” diff --git a/v3/docs/user-FAQ.md b/v3/docs/user-FAQ.md new file mode 100644 index 000000000..5233e137d --- /dev/null +++ b/v3/docs/user-FAQ.md @@ -0,0 +1,27 @@ +# Frequently Asked Questions from users of Online Python Tutor + +Email philip@pgbovine.net if you have a question that isn't addressed here. + +#### I thought all objects in Python are (conceptually) on the heap; why does Online Python Tutor render primitive values (e.g., numbers, strings) inside of stack frames? + +This was a design decision made to keep the display less cluttered; +if we were truly faithful to Python's semantics, that would result in far too many arrows (pointers) being drawn. +However, note that since primitives are **immutable** and thus behave identically regardless of aliasing, +it doesn't matter whether they're rendered in the stack or heap. + + +#### Unicode strings look weird or broken + +Yep, that's a known bug; Online Python Tutor currently doesn't have much support for Unicode. + + +#### Visualizations of object-oriented programs are confusing; why are there grayed-out frames everywhere? + +We haven't "cleaned-up" the visualizations to look better for OOP code examples; +they are simply displaying what Python is doing step-by-step as those programs execute. +Please email if you have suggestions for more aesthetically-pleasing yet accurate OOP visualizations. + + +#### Did you know that stepping through code with generators looks weird when "display frames of exited functions" is selected? + +Yep, this is a known bug, but sadly the fix isn't straightforward at the moment. diff --git a/v3/embedding-demo.html b/v3/embedding-demo.html new file mode 100644 index 000000000..3d4f385b3 --- /dev/null +++ b/v3/embedding-demo.html @@ -0,0 +1,48 @@ + + + + + Online Python Tutor embedding demo + + + + + + + + + + + + + + + + + + + + + + + + +

Recursive list sum (from pythontutor.com home page):

+ +
+ + +

Towers of Hanoi:

+ +
+ + +

Happy Birthday:

+ +
+ + + diff --git a/v3/embedding-demo.js b/v3/embedding-demo.js new file mode 100644 index 000000000..962e91c54 --- /dev/null +++ b/v3/embedding-demo.js @@ -0,0 +1,89 @@ +// To embed Online Python Tutor visualizations into embedding-demo.html ... + +// 1. Run generate_json_trace.py to generate execution traces as JavaScript variables. +// (WARNING: The following lines are VERY LONG.) + +// Run: +// python generate_json_trace.py --create_jsvar=listSumTrace tests/backend-tests/list_sum.txt +// and copy-and-paste the output line into here: +var listSumTrace = {"code": "def listSum(numbers):\n if not numbers:\n return 0\n else:\n (f, rest) = numbers\n return f + listSum(rest)\n\nmyList = (1, (2, (3, None)))\ntotal = listSum(myList)\n", "trace": [{"ordered_globals": [], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {}, "heap": {}, "line": 1, "event": "step_line"}, {"ordered_globals": ["listSum"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null]}, "line": 8, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 9, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 1, "event": "call"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 2, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 1, "event": "call"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 2, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 1, "event": "call"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 2, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 4, "encoded_locals": {"numbers": null}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f4", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 1, "event": "call"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 4, "encoded_locals": {"numbers": null}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f4", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 2, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 4, "encoded_locals": {"numbers": null}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f4", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 3, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 4, "encoded_locals": {"__return__": 0, "numbers": null}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f4", "ordered_varnames": ["numbers", "__return__"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 3, "event": "return"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"__return__": 3, "numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest", "__return__"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "return"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"__return__": 5, "numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest", "__return__"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "return"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"__return__": 6, "numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest", "__return__"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "return"}, {"ordered_globals": ["listSum", "myList", "total"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"total": 6, "myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 9, "event": "return"}]}; + +// Do the same for +// python generate_json_trace.py --create_jsvar=hanoiTrace tests/example-code/towers_of_hanoi.txt +var hanoiTrace = {"code": "# move a stack of n disks from stack a to stack b,\n# using tmp as a temporary stack\ndef TowerOfHanoi(n, a, b, tmp):\n if n == 1:\n b.append(a.pop())\n else:\n TowerOfHanoi(n-1, a, tmp, b)\n b.append(a.pop())\n TowerOfHanoi(n-1, tmp, b, a)\n \nstack1 = [4,3,2,1]\nstack2 = []\nstack3 = []\n \n# transfer stack1 to stack3 using Tower of Hanoi rules\nTowerOfHanoi(len(stack1), stack1, stack3, stack2)\n", "trace": [{"ordered_globals": [], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {}, "heap": {}, "line": 3, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"TowerOfHanoi": ["REF", 1]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null]}, "line": 11, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1]}, "line": 12, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"]}, "line": 13, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"], "4": ["LIST"]}, "line": 16, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"], "4": ["LIST"]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"], "4": ["LIST"]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"], "4": ["LIST"]}, "line": 7, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"], "4": ["LIST"]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"], "4": ["LIST"]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"], "4": ["LIST"]}, "line": 7, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"], "4": ["LIST"]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"], "4": ["LIST"]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"], "4": ["LIST"]}, "line": 7, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 4, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f4", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"], "4": ["LIST"]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 4, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f4", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"], "4": ["LIST"]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 4, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f4", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2, 1], "3": ["LIST"], "4": ["LIST"]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 4, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "__return__": null, "b": ["REF", 3], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f4", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2], "3": ["LIST", 1], "4": ["LIST"]}, "line": 5, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3, 2], "3": ["LIST", 1], "4": ["LIST"]}, "line": 8, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3], "3": ["LIST", 1], "4": ["LIST", 2]}, "line": 9, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 5, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f5", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3], "3": ["LIST", 1], "4": ["LIST", 2]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 5, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f5", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3], "3": ["LIST", 1], "4": ["LIST", 2]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 5, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f5", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3], "3": ["LIST", 1], "4": ["LIST", 2]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 5, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "__return__": null, "b": ["REF", 4], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f5", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3], "3": ["LIST"], "4": ["LIST", 2, 1]}, "line": 5, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 3, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "__return__": null, "b": ["REF", 4], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f3", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3], "3": ["LIST"], "4": ["LIST", 2, 1]}, "line": 9, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 3], "3": ["LIST"], "4": ["LIST", 2, 1]}, "line": 8, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4], "3": ["LIST", 3], "4": ["LIST", 2, 1]}, "line": 9, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "b": ["REF", 3], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4], "3": ["LIST", 3], "4": ["LIST", 2, 1]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "b": ["REF", 3], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4], "3": ["LIST", 3], "4": ["LIST", 2, 1]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "b": ["REF", 3], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4], "3": ["LIST", 3], "4": ["LIST", 2, 1]}, "line": 7, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "b": ["REF", 3], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 7, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 4], "b": ["REF", 2], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f7", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4], "3": ["LIST", 3], "4": ["LIST", 2, 1]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "b": ["REF", 3], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 7, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 4], "b": ["REF", 2], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f7", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4], "3": ["LIST", 3], "4": ["LIST", 2, 1]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "b": ["REF", 3], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 7, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 4], "b": ["REF", 2], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f7", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4], "3": ["LIST", 3], "4": ["LIST", 2, 1]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "b": ["REF", 3], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 7, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 4], "__return__": null, "b": ["REF", 2], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f7", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 1], "3": ["LIST", 3], "4": ["LIST", 2]}, "line": 5, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "b": ["REF", 3], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 1], "3": ["LIST", 3], "4": ["LIST", 2]}, "line": 8, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "b": ["REF", 3], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 1], "3": ["LIST", 3, 2], "4": ["LIST"]}, "line": 9, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "b": ["REF", 3], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 8, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f8", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 1], "3": ["LIST", 3, 2], "4": ["LIST"]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "b": ["REF", 3], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 8, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f8", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 1], "3": ["LIST", 3, 2], "4": ["LIST"]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "b": ["REF", 3], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 8, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f8", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4, 1], "3": ["LIST", 3, 2], "4": ["LIST"]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "b": ["REF", 3], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 8, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "__return__": null, "b": ["REF", 3], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f8", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4], "3": ["LIST", 3, 2, 1], "4": ["LIST"]}, "line": 5, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 6, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 4], "__return__": null, "b": ["REF", 3], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f6", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4], "3": ["LIST", 3, 2, 1], "4": ["LIST"]}, "line": 9, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 2, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "__return__": null, "b": ["REF", 3], "n": 3}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f2", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4], "3": ["LIST", 3, 2, 1], "4": ["LIST"]}, "line": 9, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 4], "3": ["LIST", 3, 2, 1], "4": ["LIST"]}, "line": 8, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 3, 2, 1], "4": ["LIST", 4]}, "line": 9, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 3, 2, 1], "4": ["LIST", 4]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 3, 2, 1], "4": ["LIST", 4]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 3, 2, 1], "4": ["LIST", 4]}, "line": 7, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "b": ["REF", 2], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 3, 2, 1], "4": ["LIST", 4]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "b": ["REF", 2], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 3, 2, 1], "4": ["LIST", 4]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "b": ["REF", 2], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 3, 2, 1], "4": ["LIST", 4]}, "line": 7, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "b": ["REF", 2], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 11, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f11", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 3, 2, 1], "4": ["LIST", 4]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "b": ["REF", 2], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 11, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f11", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 3, 2, 1], "4": ["LIST", 4]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "b": ["REF", 2], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 11, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f11", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 3, 2, 1], "4": ["LIST", 4]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "b": ["REF", 2], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 11, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "__return__": null, "b": ["REF", 4], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f11", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 3, 2], "4": ["LIST", 4, 1]}, "line": 5, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "b": ["REF", 2], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 3, 2], "4": ["LIST", 4, 1]}, "line": 8, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "b": ["REF", 2], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2], "3": ["LIST", 3], "4": ["LIST", 4, 1]}, "line": 9, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "b": ["REF", 2], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 12, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 4], "b": ["REF", 2], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f12", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2], "3": ["LIST", 3], "4": ["LIST", 4, 1]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "b": ["REF", 2], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 12, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 4], "b": ["REF", 2], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f12", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2], "3": ["LIST", 3], "4": ["LIST", 4, 1]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "b": ["REF", 2], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 12, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 4], "b": ["REF", 2], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f12", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2], "3": ["LIST", 3], "4": ["LIST", 4, 1]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "b": ["REF", 2], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 12, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 4], "__return__": null, "b": ["REF", 2], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f12", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2, 1], "3": ["LIST", 3], "4": ["LIST", 4]}, "line": 5, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 10, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 3], "__return__": null, "b": ["REF", 2], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f10", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2, 1], "3": ["LIST", 3], "4": ["LIST", 4]}, "line": 9, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2, 1], "3": ["LIST", 3], "4": ["LIST", 4]}, "line": 8, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2, 1], "3": ["LIST"], "4": ["LIST", 4, 3]}, "line": 9, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2, 1], "3": ["LIST"], "4": ["LIST", 4, 3]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2, 1], "3": ["LIST"], "4": ["LIST", 4, 3]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2, 1], "3": ["LIST"], "4": ["LIST", 4, 3]}, "line": 7, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 14, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f14", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2, 1], "3": ["LIST"], "4": ["LIST", 4, 3]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 14, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f14", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2, 1], "3": ["LIST"], "4": ["LIST", 4, 3]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 14, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "b": ["REF", 3], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f14", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2, 1], "3": ["LIST"], "4": ["LIST", 4, 3]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 14, "encoded_locals": {"tmp": ["REF", 4], "a": ["REF", 2], "__return__": null, "b": ["REF", 3], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f14", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2], "3": ["LIST", 1], "4": ["LIST", 4, 3]}, "line": 5, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST", 2], "3": ["LIST", 1], "4": ["LIST", 4, 3]}, "line": 8, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 1], "4": ["LIST", 4, 3, 2]}, "line": 9, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 15, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f15", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 1], "4": ["LIST", 4, 3, 2]}, "line": 3, "event": "call"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 15, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f15", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 1], "4": ["LIST", 4, 3, 2]}, "line": 4, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 15, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f15", "ordered_varnames": ["n", "a", "b", "tmp"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST", 1], "4": ["LIST", 4, 3, 2]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 2}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 15, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "__return__": null, "b": ["REF", 4], "n": 1}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f15", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST"], "4": ["LIST", 4, 3, 2, 1]}, "line": 5, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "b": ["REF", 4], "n": 3}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 13, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "__return__": null, "b": ["REF", 4], "n": 2}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f13", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST"], "4": ["LIST", 4, 3, 2, 1]}, "line": 9, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "b": ["REF", 4], "n": 4}, "is_highlighted": false, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp"]}, {"frame_id": 9, "encoded_locals": {"tmp": ["REF", 2], "a": ["REF", 3], "__return__": null, "b": ["REF", 4], "n": 3}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f9", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST"], "4": ["LIST", 4, 3, 2, 1]}, "line": 9, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "TowerOfHanoi", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"tmp": ["REF", 3], "a": ["REF", 2], "__return__": null, "b": ["REF", 4], "n": 4}, "is_highlighted": true, "is_parent": false, "func_name": "TowerOfHanoi", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "TowerOfHanoi_f1", "ordered_varnames": ["n", "a", "b", "tmp", "__return__"]}], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST"], "4": ["LIST", 4, 3, 2, 1]}, "line": 9, "event": "return"}, {"ordered_globals": ["TowerOfHanoi", "stack1", "stack2", "stack3"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"stack3": ["REF", 4], "stack2": ["REF", 3], "TowerOfHanoi": ["REF", 1], "stack1": ["REF", 2]}, "heap": {"1": ["FUNCTION", "TowerOfHanoi(n, a, b, tmp)", null], "2": ["LIST"], "3": ["LIST"], "4": ["LIST", 4, 3, 2, 1]}, "line": 16, "event": "return"}]}; + +// And finally, let's generate one last trace and copy it in here: +// python generate_json_trace.py --create_jsvar=happyTrace tests/example-code/happy.txt +var happyTrace = {"code": "# From \"Teaching with Python\" by John Zelle\ndef happy():\n print(\"Happy Birthday to you!\")\n\ndef sing(P):\n happy()\n happy()\n print(\"Happy Birthday dear \" + P + \"!\")\n happy()\n\n# main\nsing(\"Fred\")\n", "trace": [{"ordered_globals": [], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {}, "heap": {}, "line": 2, "event": "step_line"}, {"ordered_globals": ["happy"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["happy", "sing"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 12, "event": "step_line"}, {"ordered_globals": ["happy", "sing"], "stdout": "", "func_name": "sing", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": true, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 5, "event": "call"}, {"ordered_globals": ["happy", "sing"], "stdout": "", "func_name": "sing", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": true, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 6, "event": "step_line"}, {"ordered_globals": ["happy", "sing"], "stdout": "", "func_name": "happy", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": false, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}, {"frame_id": 2, "encoded_locals": {}, "is_highlighted": true, "is_parent": false, "func_name": "happy", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "happy_f2", "ordered_varnames": []}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 2, "event": "call"}, {"ordered_globals": ["happy", "sing"], "stdout": "", "func_name": "happy", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": false, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}, {"frame_id": 2, "encoded_locals": {}, "is_highlighted": true, "is_parent": false, "func_name": "happy", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "happy_f2", "ordered_varnames": []}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 3, "event": "step_line"}, {"ordered_globals": ["happy", "sing"], "stdout": "Happy Birthday to you!\n", "func_name": "happy", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": false, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}, {"frame_id": 2, "encoded_locals": {"__return__": null}, "is_highlighted": true, "is_parent": false, "func_name": "happy", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "happy_f2", "ordered_varnames": ["__return__"]}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 3, "event": "return"}, {"ordered_globals": ["happy", "sing"], "stdout": "Happy Birthday to you!\n", "func_name": "sing", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": true, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 7, "event": "step_line"}, {"ordered_globals": ["happy", "sing"], "stdout": "Happy Birthday to you!\n", "func_name": "happy", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": false, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}, {"frame_id": 3, "encoded_locals": {}, "is_highlighted": true, "is_parent": false, "func_name": "happy", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "happy_f3", "ordered_varnames": []}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 2, "event": "call"}, {"ordered_globals": ["happy", "sing"], "stdout": "Happy Birthday to you!\n", "func_name": "happy", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": false, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}, {"frame_id": 3, "encoded_locals": {}, "is_highlighted": true, "is_parent": false, "func_name": "happy", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "happy_f3", "ordered_varnames": []}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 3, "event": "step_line"}, {"ordered_globals": ["happy", "sing"], "stdout": "Happy Birthday to you!\nHappy Birthday to you!\n", "func_name": "happy", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": false, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}, {"frame_id": 3, "encoded_locals": {"__return__": null}, "is_highlighted": true, "is_parent": false, "func_name": "happy", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "happy_f3", "ordered_varnames": ["__return__"]}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 3, "event": "return"}, {"ordered_globals": ["happy", "sing"], "stdout": "Happy Birthday to you!\nHappy Birthday to you!\n", "func_name": "sing", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": true, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 8, "event": "step_line"}, {"ordered_globals": ["happy", "sing"], "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\n", "func_name": "sing", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": true, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 9, "event": "step_line"}, {"ordered_globals": ["happy", "sing"], "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\n", "func_name": "happy", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": false, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}, {"frame_id": 4, "encoded_locals": {}, "is_highlighted": true, "is_parent": false, "func_name": "happy", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "happy_f4", "ordered_varnames": []}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 2, "event": "call"}, {"ordered_globals": ["happy", "sing"], "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\n", "func_name": "happy", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": false, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}, {"frame_id": 4, "encoded_locals": {}, "is_highlighted": true, "is_parent": false, "func_name": "happy", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "happy_f4", "ordered_varnames": []}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 3, "event": "step_line"}, {"ordered_globals": ["happy", "sing"], "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\nHappy Birthday to you!\n", "func_name": "happy", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"P": "Fred"}, "is_highlighted": false, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P"]}, {"frame_id": 4, "encoded_locals": {"__return__": null}, "is_highlighted": true, "is_parent": false, "func_name": "happy", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "happy_f4", "ordered_varnames": ["__return__"]}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 3, "event": "return"}, {"ordered_globals": ["happy", "sing"], "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\nHappy Birthday to you!\n", "func_name": "sing", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"__return__": null, "P": "Fred"}, "is_highlighted": true, "is_parent": false, "func_name": "sing", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "sing_f1", "ordered_varnames": ["P", "__return__"]}], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 9, "event": "return"}, {"ordered_globals": ["happy", "sing"], "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\nHappy Birthday to you!\n", "func_name": "", "stack_to_render": [], "globals": {"sing": ["REF", 2], "happy": ["REF", 1]}, "heap": {"1": ["FUNCTION", "happy()", null], "2": ["FUNCTION", "sing(P)", null]}, "line": 12, "event": "return"}]}; + +// 2. When the HTML document finishes loading, populate the three divs +// (listSumDiv, hanoiDiv, happyDiv) with the visualizations +// corresponding to the respective traces. +$(document).ready(function() { + + // 3. Create a new ExecutionVisualizer object for each visualization. + // (See js/pytutor.js for the full specs of ExecutionVisualizer.) + // + // The basic idea is that the parent div name is passed as the first argument, + // and the trace object is passed as the second argument. + // + // The third argument contains optional parameters. + + // Note that "embeddedMode: true" makes the visualizer appear more compact on-screen. + // editCodeBaseURL is the base URL to prepend onto the 'Edit code' link. + + + // A more subtle point is that when some div in your HTML webpage + // (such as a visualizer div) expands in height, it will "push down" + // all divs below it, but the SVG arrows rendered by jsPlumb + // WILL NOT MOVE. Thus, they will be in the incorrect location + // unless you call redrawAllConnectors(). + // + // We use the "redrawAllConnectorsOnHeightChange" optional parameter to force redraw + // of all SVG arrows of ALL visualizers, whenever the height of one changes. + // + // Alternatively, here is one jQuery plugin that you can use to detect div height changes: + // http://benalman.com/projects/jquery-resize-plugin/ + // + // A related trick you can implement is to make a div never shrink in height once it's grown; + // that way, you can avoid lots of jarring jumps and (inefficient) redraws. + + // Render listSumTrace inside of listSumDiv + var listSumVisualizer = new ExecutionVisualizer('listSumDiv', listSumTrace, + {embeddedMode: true, + redrawAllConnectorsOnHeightChange: true, + editCodeBaseURL: 'http://pythontutor.com/visualize.html'}); + + // The "startingInstruction: 15" optional parameter means to jump to step 15 + // in the visualization when it loads. (The HTML webpage will actually display + // "Step 16 of 64" since indices are zero-indexed.) + // + // verticalStack means to stack the code and visualizations vertically atop one another + // (rather than side-by-side) + var hanoiVisualizer = new ExecutionVisualizer('hanoiDiv', hanoiTrace, + {embeddedMode: true, + startingInstruction: 15, + verticalStack: true, + redrawAllConnectorsOnHeightChange: true, + editCodeBaseURL: 'http://pythontutor.com/visualize.html'}); + + // "embeddedMode: false" displays the full visualizer widget with the "Program Output" pane + // "jumpToEnd: true" means to jump to the end of execution upon loading. + var happyVisualizer = new ExecutionVisualizer('happyDiv', happyTrace, + {embeddedMode: false, + jumpToEnd: true, + codeDivWidth: 450, + codeDivHeight: 150, + editCodeBaseURL: 'http://pythontutor.com/visualize.html'}); + + + // Call redrawConnectors() on all visualizers whenever the window is resized, + // since HTML elements might have moved during a resize. The SVG arrows rendered + // by jsPlumb don't automatically get re-drawn in their new positions unless + // redrawConnectors() is called. + $(window).resize(function() { + listSumVisualizer.redrawConnectors(); + hanoiVisualizer.redrawConnectors(); + happyVisualizer.redrawConnectors(); + }); +}); diff --git a/v3/example-code/aliasing.golden b/v3/example-code/aliasing.golden new file mode 100644 index 000000000..d0f3f9997 --- /dev/null +++ b/v3/example-code/aliasing.golden @@ -0,0 +1,2067 @@ +{ + "code": "x = [1, 2, 3]\ny = [4, 5, 6]\nz = y\ny = x\nx = z\n\nx = [1, 2, 3] # a different [1, 2, 3] list!\ny = x\nx.append(4)\ny.append(5)\nz = [1, 2, 3, 4, 5] # a different list!\nx.append(6)\ny.append(7)\ny = \"hello\"\n\n\ndef foo(lst):\n lst.append(\"hello\")\n bar(lst)\n\ndef bar(myLst):\n print(myLst)\n\nfoo(x)\nfoo(z)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ], + "2": [ + "LIST", + 4, + 5, + 6 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ], + "2": [ + "LIST", + 4, + 5, + 6 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 1 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ], + "2": [ + "LIST", + 4, + 5, + 6 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 1 + ], + "x": [ + "REF", + 2 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ], + "2": [ + "LIST", + 4, + 5, + 6 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ], + "2": [ + "LIST", + 4, + 5, + 6 + ], + "3": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "LIST", + 4, + 5, + 6 + ], + "3": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "LIST", + 4, + 5, + 6 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "LIST", + 4, + 5, + 6 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6 + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ] + }, + "line": 21, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 24, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 17, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "myLst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "myLst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 21, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "myLst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "myLst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": null, + "myLst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "myLst", + "__return__" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 22, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst", + "__return__" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 25, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "lst": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 17, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "lst": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "lst": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + "hello" + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "lst": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "myLst": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f4", + "ordered_varnames": [ + "myLst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + "hello" + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 21, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "lst": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "myLst": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f4", + "ordered_varnames": [ + "myLst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + "hello" + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n[1, 2, 3, 4, 5, 'hello']\n", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "lst": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": null, + "myLst": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f4", + "ordered_varnames": [ + "myLst", + "__return__" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + "hello" + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 22, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n[1, 2, 3, 4, 5, 'hello']\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "__return__": null, + "lst": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst", + "__return__" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 5 + ], + "bar": [ + "REF", + 6 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + "hello" + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n[1, 2, 3, 4, 5, 'hello']\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 4 + ], + "bar": [ + "REF", + 6 + ], + "foo": [ + "REF", + 5 + ] + }, + "heap": { + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + "hello" + ], + "5": [ + "FUNCTION", + "foo(lst)", + null + ], + "6": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 25, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing.golden_py3 b/v3/example-code/aliasing.golden_py3 new file mode 100644 index 000000000..f56be9792 --- /dev/null +++ b/v3/example-code/aliasing.golden_py3 @@ -0,0 +1,2067 @@ +{ + "code": "x = [1, 2, 3]\ny = [4, 5, 6]\nz = y\ny = x\nx = z\n\nx = [1, 2, 3] # a different [1, 2, 3] list!\ny = x\nx.append(4)\ny.append(5)\nz = [1, 2, 3, 4, 5] # a different list!\nx.append(6)\ny.append(7)\ny = \"hello\"\n\n\ndef foo(lst):\n lst.append(\"hello\")\n bar(lst)\n\ndef bar(myLst):\n print(myLst)\n\nfoo(x)\nfoo(z)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ], + "2": [ + "LIST", + 4, + 5, + 6 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ], + "2": [ + "LIST", + 4, + 5, + 6 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 1 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ], + "2": [ + "LIST", + 4, + 5, + 6 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 1 + ], + "x": [ + "REF", + 2 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ], + "2": [ + "LIST", + 4, + 5, + 6 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ], + "2": [ + "LIST", + 4, + 5, + 6 + ], + "3": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "LIST", + 4, + 5, + 6 + ], + "3": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "LIST", + 4, + 5, + 6 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "LIST", + 4, + 5, + 6 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ] + }, + "line": 21, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 24, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 17, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "myLst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "myLst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 21, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "myLst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "myLst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": null, + "myLst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "myLst", + "__return__" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 22, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "lst", + "__return__" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 25, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "lst": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 17, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "lst": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5 + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "lst": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + "hello" + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "lst": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "myLst": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f4", + "ordered_varnames": [ + "myLst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + "hello" + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 21, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "lst": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "myLst": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f4", + "ordered_varnames": [ + "myLst" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + "hello" + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n[1, 2, 3, 4, 5, 'hello']\n", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "lst": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": null, + "myLst": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f4", + "ordered_varnames": [ + "myLst", + "__return__" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + "hello" + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 22, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n[1, 2, 3, 4, 5, 'hello']\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "__return__": null, + "lst": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f3", + "ordered_varnames": [ + "lst", + "__return__" + ] + } + ], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "foo": [ + "REF", + 4 + ], + "bar": [ + "REF", + 5 + ], + "z": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + "hello" + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "foo", + "bar" + ], + "stdout": "[1, 2, 3, 4, 5, 6, 7, 'hello']\n[1, 2, 3, 4, 5, 'hello']\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": "hello", + "x": [ + "REF", + 3 + ], + "z": [ + "REF", + 1 + ], + "bar": [ + "REF", + 5 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + "hello" + ], + "3": [ + "LIST", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + "hello" + ], + "4": [ + "FUNCTION", + "foo(lst)", + null + ], + "5": [ + "FUNCTION", + "bar(myLst)", + null + ] + }, + "line": 25, + "event": "return" + } + ] +} diff --git a/example-code/aliasing.txt b/v3/example-code/aliasing.txt similarity index 54% rename from example-code/aliasing.txt rename to v3/example-code/aliasing.txt index e866323d5..459b370db 100644 --- a/example-code/aliasing.txt +++ b/v3/example-code/aliasing.txt @@ -1,19 +1,25 @@ -# Example of aliasing x = [1, 2, 3] +y = [4, 5, 6] +z = y +y = x +x = z + +x = [1, 2, 3] # a different [1, 2, 3] list! y = x x.append(4) y.append(5) -z = [1, 2, 3, 4, 5] +z = [1, 2, 3, 4, 5] # a different list! x.append(6) y.append(7) y = "hello" + def foo(lst): lst.append("hello") bar(lst) def bar(myLst): - print myLst + print(myLst) foo(x) foo(z) diff --git a/v3/example-code/aliasing/aliasing1.golden b/v3/example-code/aliasing/aliasing1.golden new file mode 100644 index 000000000..00383dd48 --- /dev/null +++ b/v3/example-code/aliasing/aliasing1.golden @@ -0,0 +1,98 @@ +{ + "code": "a = (1, (2, (3, None)))\nb = a[1]\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "a", + "b" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ], + "b": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + null + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing1.golden_py3 b/v3/example-code/aliasing/aliasing1.golden_py3 new file mode 100644 index 000000000..00383dd48 --- /dev/null +++ b/v3/example-code/aliasing/aliasing1.golden_py3 @@ -0,0 +1,98 @@ +{ + "code": "a = (1, (2, (3, None)))\nb = a[1]\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "a", + "b" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ], + "b": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + null + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing1.txt b/v3/example-code/aliasing/aliasing1.txt new file mode 100644 index 000000000..f6d9efea8 --- /dev/null +++ b/v3/example-code/aliasing/aliasing1.txt @@ -0,0 +1,2 @@ +a = (1, (2, (3, None))) +b = a[1] diff --git a/v3/example-code/aliasing/aliasing2.golden b/v3/example-code/aliasing/aliasing2.golden new file mode 100644 index 000000000..ab6c203f4 --- /dev/null +++ b/v3/example-code/aliasing/aliasing2.golden @@ -0,0 +1,90 @@ +{ + "code": "c = (1, (2, None))\nd = (1, c)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "c" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "c": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "c", + "d" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "c": [ + "REF", + 1 + ], + "d": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + null + ], + "3": [ + "TUPLE", + 1, + [ + "REF", + 1 + ] + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing2.golden_py3 b/v3/example-code/aliasing/aliasing2.golden_py3 new file mode 100644 index 000000000..ab6c203f4 --- /dev/null +++ b/v3/example-code/aliasing/aliasing2.golden_py3 @@ -0,0 +1,90 @@ +{ + "code": "c = (1, (2, None))\nd = (1, c)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "c" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "c": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "c", + "d" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "c": [ + "REF", + 1 + ], + "d": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + null + ], + "3": [ + "TUPLE", + 1, + [ + "REF", + 1 + ] + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing2.txt b/v3/example-code/aliasing/aliasing2.txt new file mode 100644 index 000000000..57984f2ff --- /dev/null +++ b/v3/example-code/aliasing/aliasing2.txt @@ -0,0 +1,2 @@ +c = (1, (2, None)) +d = (1, c) diff --git a/v3/example-code/aliasing/aliasing3.golden b/v3/example-code/aliasing/aliasing3.golden new file mode 100644 index 000000000..a0bded930 --- /dev/null +++ b/v3/example-code/aliasing/aliasing3.golden @@ -0,0 +1,335 @@ +{ + "code": "l1, l2, l3, l4 = 1, 2, 3, 4\n\nt1 = (l1, l2)\nt2 = (l3, l4)\nt = (t1, t2)\nu = ((1, 2), (3, 4))\nv = u[0]\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "l4", + "l2", + "l3", + "l1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "l4": 4, + "l2": 2, + "l3": 3, + "l1": 1 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "l4", + "l2", + "l3", + "l1", + "t1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "l4": 4, + "t1": [ + "REF", + 1 + ], + "l2": 2, + "l3": 3, + "l1": 1 + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "l4", + "l2", + "l3", + "l1", + "t1", + "t2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "t1": [ + "REF", + 1 + ], + "l4": 4, + "l2": 2, + "l3": 3, + "l1": 1 + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "l4", + "l2", + "l3", + "l1", + "t1", + "t2", + "t" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "t1": [ + "REF", + 1 + ], + "l4": 4, + "l2": 2, + "l3": 3, + "l1": 1, + "t": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "TUPLE", + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "l4", + "l2", + "l3", + "l1", + "t1", + "t2", + "t", + "u" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "t1": [ + "REF", + 1 + ], + "l4": 4, + "l2": 2, + "l3": 3, + "l1": 1, + "u": [ + "REF", + 4 + ], + "t": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "TUPLE", + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ], + "4": [ + "TUPLE", + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "5": [ + "TUPLE", + 1, + 2 + ], + "6": [ + "TUPLE", + 3, + 4 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "l4", + "l2", + "l3", + "l1", + "t1", + "t2", + "t", + "u", + "v" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "v": [ + "REF", + 5 + ], + "t2": [ + "REF", + 2 + ], + "t1": [ + "REF", + 1 + ], + "l4": 4, + "l2": 2, + "l3": 3, + "l1": 1, + "u": [ + "REF", + 4 + ], + "t": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "TUPLE", + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ], + "4": [ + "TUPLE", + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "5": [ + "TUPLE", + 1, + 2 + ], + "6": [ + "TUPLE", + 3, + 4 + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing3.golden_py3 b/v3/example-code/aliasing/aliasing3.golden_py3 new file mode 100644 index 000000000..a0bded930 --- /dev/null +++ b/v3/example-code/aliasing/aliasing3.golden_py3 @@ -0,0 +1,335 @@ +{ + "code": "l1, l2, l3, l4 = 1, 2, 3, 4\n\nt1 = (l1, l2)\nt2 = (l3, l4)\nt = (t1, t2)\nu = ((1, 2), (3, 4))\nv = u[0]\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "l4", + "l2", + "l3", + "l1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "l4": 4, + "l2": 2, + "l3": 3, + "l1": 1 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "l4", + "l2", + "l3", + "l1", + "t1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "l4": 4, + "t1": [ + "REF", + 1 + ], + "l2": 2, + "l3": 3, + "l1": 1 + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "l4", + "l2", + "l3", + "l1", + "t1", + "t2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "t1": [ + "REF", + 1 + ], + "l4": 4, + "l2": 2, + "l3": 3, + "l1": 1 + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "l4", + "l2", + "l3", + "l1", + "t1", + "t2", + "t" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "t1": [ + "REF", + 1 + ], + "l4": 4, + "l2": 2, + "l3": 3, + "l1": 1, + "t": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "TUPLE", + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "l4", + "l2", + "l3", + "l1", + "t1", + "t2", + "t", + "u" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "t1": [ + "REF", + 1 + ], + "l4": 4, + "l2": 2, + "l3": 3, + "l1": 1, + "u": [ + "REF", + 4 + ], + "t": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "TUPLE", + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ], + "4": [ + "TUPLE", + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "5": [ + "TUPLE", + 1, + 2 + ], + "6": [ + "TUPLE", + 3, + 4 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "l4", + "l2", + "l3", + "l1", + "t1", + "t2", + "t", + "u", + "v" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "v": [ + "REF", + 5 + ], + "t2": [ + "REF", + 2 + ], + "t1": [ + "REF", + 1 + ], + "l4": 4, + "l2": 2, + "l3": 3, + "l1": 1, + "u": [ + "REF", + 4 + ], + "t": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "TUPLE", + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ], + "4": [ + "TUPLE", + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "5": [ + "TUPLE", + 1, + 2 + ], + "6": [ + "TUPLE", + 3, + 4 + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing3.txt b/v3/example-code/aliasing/aliasing3.txt new file mode 100644 index 000000000..fcb9e9c63 --- /dev/null +++ b/v3/example-code/aliasing/aliasing3.txt @@ -0,0 +1,7 @@ +l1, l2, l3, l4 = 1, 2, 3, 4 + +t1 = (l1, l2) +t2 = (l3, l4) +t = (t1, t2) +u = ((1, 2), (3, 4)) +v = u[0] diff --git a/v3/example-code/aliasing/aliasing4.golden b/v3/example-code/aliasing/aliasing4.golden new file mode 100644 index 000000000..0d440f81a --- /dev/null +++ b/v3/example-code/aliasing/aliasing4.golden @@ -0,0 +1,67 @@ +{ + "code": "x = [1, 2, 3]\nx.append(x)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + [ + "REF", + 1 + ] + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing4.golden_py3 b/v3/example-code/aliasing/aliasing4.golden_py3 new file mode 100644 index 000000000..0d440f81a --- /dev/null +++ b/v3/example-code/aliasing/aliasing4.golden_py3 @@ -0,0 +1,67 @@ +{ + "code": "x = [1, 2, 3]\nx.append(x)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3, + [ + "REF", + 1 + ] + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing4.txt b/v3/example-code/aliasing/aliasing4.txt new file mode 100644 index 000000000..7ca952d22 --- /dev/null +++ b/v3/example-code/aliasing/aliasing4.txt @@ -0,0 +1,2 @@ +x = [1, 2, 3] +x.append(x) diff --git a/v3/example-code/aliasing/aliasing5.golden b/v3/example-code/aliasing/aliasing5.golden new file mode 100644 index 000000000..af82d0118 --- /dev/null +++ b/v3/example-code/aliasing/aliasing5.golden @@ -0,0 +1,455 @@ +{ + "code": "x = None\nfor i in range(5, 0, -1):\n x = (i, x)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": null + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": null + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "4": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "4": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "4": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "5": [ + "TUPLE", + 1, + [ + "REF", + 4 + ] + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "4": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "5": [ + "TUPLE", + 1, + [ + "REF", + 4 + ] + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing5.golden_py3 b/v3/example-code/aliasing/aliasing5.golden_py3 new file mode 100644 index 000000000..af82d0118 --- /dev/null +++ b/v3/example-code/aliasing/aliasing5.golden_py3 @@ -0,0 +1,455 @@ +{ + "code": "x = None\nfor i in range(5, 0, -1):\n x = (i, x)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": null + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": null + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "4": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "4": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "4": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "5": [ + "TUPLE", + 1, + [ + "REF", + 4 + ] + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "TUPLE", + 5, + null + ], + "2": [ + "TUPLE", + 4, + [ + "REF", + 1 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "4": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "5": [ + "TUPLE", + 1, + [ + "REF", + 4 + ] + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing5.txt b/v3/example-code/aliasing/aliasing5.txt new file mode 100644 index 000000000..232486f7c --- /dev/null +++ b/v3/example-code/aliasing/aliasing5.txt @@ -0,0 +1,3 @@ +x = None +for i in range(5, 0, -1): + x = (i, x) diff --git a/v3/example-code/aliasing/aliasing6.golden b/v3/example-code/aliasing/aliasing6.golden new file mode 100644 index 000000000..71b2ac9b6 --- /dev/null +++ b/v3/example-code/aliasing/aliasing6.golden @@ -0,0 +1,327 @@ +{ + "code": "# wow, this looks gross :)\nt1 = (1, 2)\nt2 = (3, 4)\nt = [t1, t2]\nu = [t, t, t]\nu[1] = u\nt[0] = u\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "t1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "t1", + "t2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "t1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "t1", + "t2", + "t" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "t": [ + "REF", + 3 + ], + "t1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "LIST", + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "t1", + "t2", + "t", + "u" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "u": [ + "REF", + 4 + ], + "t": [ + "REF", + 3 + ], + "t1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "LIST", + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + [ + "REF", + 3 + ], + [ + "REF", + 3 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "t1", + "t2", + "t", + "u" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "u": [ + "REF", + 4 + ], + "t": [ + "REF", + 3 + ], + "t1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "LIST", + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "t1", + "t2", + "t", + "u" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "u": [ + "REF", + 4 + ], + "t": [ + "REF", + 3 + ], + "t1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "LIST", + [ + "REF", + 4 + ], + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing6.golden_py3 b/v3/example-code/aliasing/aliasing6.golden_py3 new file mode 100644 index 000000000..71b2ac9b6 --- /dev/null +++ b/v3/example-code/aliasing/aliasing6.golden_py3 @@ -0,0 +1,327 @@ +{ + "code": "# wow, this looks gross :)\nt1 = (1, 2)\nt2 = (3, 4)\nt = [t1, t2]\nu = [t, t, t]\nu[1] = u\nt[0] = u\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "t1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "t1", + "t2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "t1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "t1", + "t2", + "t" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "t": [ + "REF", + 3 + ], + "t1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "LIST", + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "t1", + "t2", + "t", + "u" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "u": [ + "REF", + 4 + ], + "t": [ + "REF", + 3 + ], + "t1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "LIST", + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + [ + "REF", + 3 + ], + [ + "REF", + 3 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "t1", + "t2", + "t", + "u" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "u": [ + "REF", + 4 + ], + "t": [ + "REF", + 3 + ], + "t1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "LIST", + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "t1", + "t2", + "t", + "u" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "t2": [ + "REF", + 2 + ], + "u": [ + "REF", + 4 + ], + "t": [ + "REF", + 3 + ], + "t1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2 + ], + "2": [ + "TUPLE", + 3, + 4 + ], + "3": [ + "LIST", + [ + "REF", + 4 + ], + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing6.txt b/v3/example-code/aliasing/aliasing6.txt new file mode 100644 index 000000000..5f9c1e8b5 --- /dev/null +++ b/v3/example-code/aliasing/aliasing6.txt @@ -0,0 +1,7 @@ +# wow, this looks gross :) +t1 = (1, 2) +t2 = (3, 4) +t = [t1, t2] +u = [t, t, t] +u[1] = u +t[0] = u diff --git a/v3/example-code/aliasing/aliasing7.golden b/v3/example-code/aliasing/aliasing7.golden new file mode 100644 index 000000000..fc49379b4 --- /dev/null +++ b/v3/example-code/aliasing/aliasing7.golden @@ -0,0 +1,248 @@ +{ + "code": "x = (3, {'joe': 'M', 'jane': 'F'})\ny = (2, x)\nz = (1, y)\nw = (x, y, z)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "2": [ + "DICT", + [ + "jane", + "F" + ], + [ + "joe", + "M" + ] + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "2": [ + "DICT", + [ + "jane", + "F" + ], + [ + "joe", + "M" + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 1 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "2": [ + "DICT", + [ + "jane", + "F" + ], + [ + "joe", + "M" + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 1 + ] + ], + "4": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "w" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 4 + ], + "w": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "2": [ + "DICT", + [ + "jane", + "F" + ], + [ + "joe", + "M" + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 1 + ] + ], + "4": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "5": [ + "TUPLE", + [ + "REF", + 1 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ] + ] + }, + "line": 4, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing7.golden_py3 b/v3/example-code/aliasing/aliasing7.golden_py3 new file mode 100644 index 000000000..fc49379b4 --- /dev/null +++ b/v3/example-code/aliasing/aliasing7.golden_py3 @@ -0,0 +1,248 @@ +{ + "code": "x = (3, {'joe': 'M', 'jane': 'F'})\ny = (2, x)\nz = (1, y)\nw = (x, y, z)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "2": [ + "DICT", + [ + "jane", + "F" + ], + [ + "joe", + "M" + ] + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "2": [ + "DICT", + [ + "jane", + "F" + ], + [ + "joe", + "M" + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 1 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "2": [ + "DICT", + [ + "jane", + "F" + ], + [ + "joe", + "M" + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 1 + ] + ], + "4": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "w" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 3 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 4 + ], + "w": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "TUPLE", + 3, + [ + "REF", + 2 + ] + ], + "2": [ + "DICT", + [ + "jane", + "F" + ], + [ + "joe", + "M" + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 1 + ] + ], + "4": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "5": [ + "TUPLE", + [ + "REF", + 1 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ] + ] + }, + "line": 4, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing7.txt b/v3/example-code/aliasing/aliasing7.txt new file mode 100644 index 000000000..6e709dafc --- /dev/null +++ b/v3/example-code/aliasing/aliasing7.txt @@ -0,0 +1,5 @@ +x = (3, {'joe': 'M', 'jane': 'F'}) +y = (2, x) +z = (1, y) +w = (x, y, z) + diff --git a/v3/example-code/aliasing/aliasing8.golden b/v3/example-code/aliasing/aliasing8.golden new file mode 100644 index 000000000..20ddeb5fb --- /dev/null +++ b/v3/example-code/aliasing/aliasing8.golden @@ -0,0 +1,229 @@ +{ + "code": "# test whether heap objects \"jiggle\" between steps\nx = [1, [2, [3, None]]]\ny = [4, [5, [6, None]]]\n\nx[1][1] = y[1] # hopefully no jiggle!\n\nx = set(['apple', 'banana', 'carrot'])\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "LIST", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "LIST", + 3, + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 4 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "LIST", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "LIST", + 3, + null + ], + "4": [ + "LIST", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "LIST", + 5, + [ + "REF", + 6 + ] + ], + "6": [ + "LIST", + 6, + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 4 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "LIST", + 2, + [ + "REF", + 5 + ] + ], + "4": [ + "LIST", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "LIST", + 5, + [ + "REF", + 6 + ] + ], + "6": [ + "LIST", + 6, + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 4 + ], + "x": [ + "REF", + 7 + ] + }, + "heap": { + "4": [ + "LIST", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "LIST", + 5, + [ + "REF", + 6 + ] + ], + "6": [ + "LIST", + 6, + null + ], + "7": [ + "SET", + "carrot", + "apple", + "banana" + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing8.golden_py3 b/v3/example-code/aliasing/aliasing8.golden_py3 new file mode 100644 index 000000000..20ddeb5fb --- /dev/null +++ b/v3/example-code/aliasing/aliasing8.golden_py3 @@ -0,0 +1,229 @@ +{ + "code": "# test whether heap objects \"jiggle\" between steps\nx = [1, [2, [3, None]]]\ny = [4, [5, [6, None]]]\n\nx[1][1] = y[1] # hopefully no jiggle!\n\nx = set(['apple', 'banana', 'carrot'])\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "LIST", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "LIST", + 3, + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 4 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "LIST", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "LIST", + 3, + null + ], + "4": [ + "LIST", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "LIST", + 5, + [ + "REF", + 6 + ] + ], + "6": [ + "LIST", + 6, + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 4 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "LIST", + 2, + [ + "REF", + 5 + ] + ], + "4": [ + "LIST", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "LIST", + 5, + [ + "REF", + 6 + ] + ], + "6": [ + "LIST", + 6, + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 4 + ], + "x": [ + "REF", + 7 + ] + }, + "heap": { + "4": [ + "LIST", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "LIST", + 5, + [ + "REF", + 6 + ] + ], + "6": [ + "LIST", + 6, + null + ], + "7": [ + "SET", + "carrot", + "apple", + "banana" + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/example-code/aliasing/aliasing8.txt b/v3/example-code/aliasing/aliasing8.txt new file mode 100644 index 000000000..707d5196f --- /dev/null +++ b/v3/example-code/aliasing/aliasing8.txt @@ -0,0 +1,8 @@ +# test whether heap objects "jiggle" between steps +x = [1, [2, [3, None]]] +y = [4, [5, [6, None]]] + +x[1][1] = y[1] # hopefully no jiggle! + +x = set(['apple', 'banana', 'carrot']) + diff --git a/v3/example-code/closures/closure1.golden b/v3/example-code/closures/closure1.golden new file mode 100644 index 000000000..60defd48b --- /dev/null +++ b/v3/example-code/closures/closure1.golden @@ -0,0 +1,567 @@ +{ + "code": "def foo(y):\n def bar(x):\n return x + y\n return bar\n\nb = foo(1)\nb(2)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "y", + "bar" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 2 + ], + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "b" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 2 + ], + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "b": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "b" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 2 + ], + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "b": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "b" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 2 + ], + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "b": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "b" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 2 + ], + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 3, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "b": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "b" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 2 + ], + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + } + ], + "globals": { + "b": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/example-code/closures/closure1.golden_py3 b/v3/example-code/closures/closure1.golden_py3 new file mode 100644 index 000000000..60defd48b --- /dev/null +++ b/v3/example-code/closures/closure1.golden_py3 @@ -0,0 +1,567 @@ +{ + "code": "def foo(y):\n def bar(x):\n return x + y\n return bar\n\nb = foo(1)\nb(2)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "y", + "bar" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 2 + ], + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "b" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 2 + ], + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "b": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "b" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 2 + ], + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "b": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "b" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 2 + ], + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "b": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "b" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 2 + ], + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 3, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "b": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "b" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 2 + ], + "bar": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + } + ], + "globals": { + "b": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/example-code/closures/closure1.txt b/v3/example-code/closures/closure1.txt new file mode 100644 index 000000000..1b784657b --- /dev/null +++ b/v3/example-code/closures/closure1.txt @@ -0,0 +1,7 @@ +def foo(y): + def bar(x): + return x + y + return bar + +b = foo(1) +b(2) diff --git a/v3/example-code/closures/closure2.golden b/v3/example-code/closures/closure2.golden new file mode 100644 index 000000000..57084967a --- /dev/null +++ b/v3/example-code/closures/closure2.golden @@ -0,0 +1,1764 @@ +{ + "code": "def foo(y):\n def bar(x):\n return x + y\n return bar\n\ndef foo_deux(y):\n def bar_deux(x):\n return x + y\n return bar_deux\n\nb = foo(1)\nb_deux = foo_deux(1000)\n\nb(2) \nb_deux(2000)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ], + "foo_deux": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "foo_deux": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "foo_deux" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "foo_deux": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "y", + "bar" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "foo_deux": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "foo_deux": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + } + ], + "globals": { + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b" + ], + "stdout": "", + "func_name": "foo_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo_deux", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b" + ], + "stdout": "", + "func_name": "foo_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo_deux", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b" + ], + "stdout": "", + "func_name": "foo_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p", + "ordered_varnames": [ + "y", + "bar_deux" + ] + } + ], + "globals": { + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b" + ], + "stdout": "", + "func_name": "foo_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + } + ], + "globals": { + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 3, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "bar_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 2000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar_deux", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "bar_deux_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "bar_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 2000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar_deux", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "bar_deux_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "bar_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 3000, + "x": 2000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar_deux", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "bar_deux_f4", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 15, + "event": "return" + } + ] +} diff --git a/v3/example-code/closures/closure2.golden_py3 b/v3/example-code/closures/closure2.golden_py3 new file mode 100644 index 000000000..57084967a --- /dev/null +++ b/v3/example-code/closures/closure2.golden_py3 @@ -0,0 +1,1764 @@ +{ + "code": "def foo(y):\n def bar(x):\n return x + y\n return bar\n\ndef foo_deux(y):\n def bar_deux(x):\n return x + y\n return bar_deux\n\nb = foo(1)\nb_deux = foo_deux(1000)\n\nb(2) \nb_deux(2000)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ], + "foo_deux": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "foo_deux": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "foo_deux" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "foo_deux": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "y", + "bar" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "foo_deux": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "foo_deux": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + } + ], + "globals": { + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b" + ], + "stdout": "", + "func_name": "foo_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo_deux", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b" + ], + "stdout": "", + "func_name": "foo_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo_deux", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b" + ], + "stdout": "", + "func_name": "foo_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p", + "ordered_varnames": [ + "y", + "bar_deux" + ] + } + ], + "globals": { + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b" + ], + "stdout": "", + "func_name": "foo_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + } + ], + "globals": { + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 3, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "bar_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 2000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar_deux", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "bar_deux_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "bar_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 2000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar_deux", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "bar_deux_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "bar_deux", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 3000, + "x": 2000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar_deux", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "bar_deux_f4", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "foo_deux", + "b", + "b_deux" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 1, + "__return__": [ + "REF", + 3 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "y", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 1000, + "__return__": [ + "REF", + 4 + ], + "bar_deux": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo_deux", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_deux_f2_p_z", + "ordered_varnames": [ + "y", + "bar_deux", + "__return__" + ] + } + ], + "globals": { + "b_deux": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "foo_deux": [ + "REF", + 2 + ], + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(y)", + null + ], + "2": [ + "FUNCTION", + "foo_deux(y)", + null + ], + "3": [ + "FUNCTION", + "bar(x)", + 1 + ], + "4": [ + "FUNCTION", + "bar_deux(x)", + 2 + ] + }, + "line": 15, + "event": "return" + } + ] +} diff --git a/v3/example-code/closures/closure2.txt b/v3/example-code/closures/closure2.txt new file mode 100644 index 000000000..dd036ff92 --- /dev/null +++ b/v3/example-code/closures/closure2.txt @@ -0,0 +1,15 @@ +def foo(y): + def bar(x): + return x + y + return bar + +def foo_deux(y): + def bar_deux(x): + return x + y + return bar_deux + +b = foo(1) +b_deux = foo_deux(1000) + +b(2) +b_deux(2000) diff --git a/v3/example-code/closures/closure3.golden b/v3/example-code/closures/closure3.golden new file mode 100644 index 000000000..7a968114d --- /dev/null +++ b/v3/example-code/closures/closure3.golden @@ -0,0 +1,1400 @@ +{ + "code": "def foo(x):\n def bar(y):\n def baz(z):\n return len(x) + len(y) + len(z)\n return baz\n return bar([4,5,6,7])\n\nl = [1,2,3]\nx = foo(l)\nx([8,9,10,11,12])\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "bar" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "bar" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "bar" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "bar" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p", + "ordered_varnames": [ + "y", + "baz" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "bar" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "bar", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p_z", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "l", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "x", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "bar", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p_z", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 5 + ], + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l", + "x" + ], + "stdout": "", + "func_name": "baz", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "x", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "bar", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p_z", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "z": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "baz", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "baz_f3", + "ordered_varnames": [ + "z" + ] + } + ], + "globals": { + "x": [ + "REF", + 5 + ], + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ], + "6": [ + "LIST", + 8, + 9, + 10, + 11, + 12 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "l", + "x" + ], + "stdout": "", + "func_name": "baz", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "x", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "bar", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p_z", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "z": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "baz", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "baz_f3", + "ordered_varnames": [ + "z" + ] + } + ], + "globals": { + "x": [ + "REF", + 5 + ], + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ], + "6": [ + "LIST", + 8, + 9, + 10, + 11, + 12 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l", + "x" + ], + "stdout": "", + "func_name": "baz", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "x", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "bar", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p_z", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 12, + "z": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "baz", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "baz_f3", + "ordered_varnames": [ + "z", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 5 + ], + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ], + "6": [ + "LIST", + 8, + 9, + 10, + 11, + 12 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "l", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "x", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "bar", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p_z", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 5 + ], + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ] + }, + "line": 10, + "event": "return" + } + ] +} diff --git a/v3/example-code/closures/closure3.golden_py3 b/v3/example-code/closures/closure3.golden_py3 new file mode 100644 index 000000000..7a968114d --- /dev/null +++ b/v3/example-code/closures/closure3.golden_py3 @@ -0,0 +1,1400 @@ +{ + "code": "def foo(x):\n def bar(y):\n def baz(z):\n return len(x) + len(y) + len(z)\n return baz\n return bar([4,5,6,7])\n\nl = [1,2,3]\nx = foo(l)\nx([8,9,10,11,12])\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "bar" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "bar" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "bar" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "bar" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p", + "ordered_varnames": [ + "y", + "baz" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "bar" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "l" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "bar", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p_z", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "l", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "x", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "bar", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p_z", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 5 + ], + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l", + "x" + ], + "stdout": "", + "func_name": "baz", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "x", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "bar", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p_z", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "z": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "baz", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "baz_f3", + "ordered_varnames": [ + "z" + ] + } + ], + "globals": { + "x": [ + "REF", + 5 + ], + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ], + "6": [ + "LIST", + 8, + 9, + 10, + 11, + 12 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "l", + "x" + ], + "stdout": "", + "func_name": "baz", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "x", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "bar", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p_z", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "z": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "baz", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "baz_f3", + "ordered_varnames": [ + "z" + ] + } + ], + "globals": { + "x": [ + "REF", + 5 + ], + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ], + "6": [ + "LIST", + 8, + 9, + 10, + 11, + 12 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "l", + "x" + ], + "stdout": "", + "func_name": "baz", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "x", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "bar", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p_z", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 12, + "z": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "baz", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "baz_f3", + "ordered_varnames": [ + "z", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 5 + ], + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ], + "6": [ + "LIST", + 8, + 9, + 10, + 11, + 12 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "l", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": [ + "REF", + 2 + ], + "bar": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "x", + "bar", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 5 + ], + "baz": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "bar", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "bar_f2_p_z", + "ordered_varnames": [ + "y", + "baz", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 5 + ], + "foo": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "LIST", + 1, + 2, + 3 + ], + "3": [ + "FUNCTION", + "bar(y)", + 1 + ], + "4": [ + "LIST", + 4, + 5, + 6, + 7 + ], + "5": [ + "FUNCTION", + "baz(z)", + 2 + ] + }, + "line": 10, + "event": "return" + } + ] +} diff --git a/v3/example-code/closures/closure3.txt b/v3/example-code/closures/closure3.txt new file mode 100644 index 000000000..9a34ed2d1 --- /dev/null +++ b/v3/example-code/closures/closure3.txt @@ -0,0 +1,10 @@ +def foo(x): + def bar(y): + def baz(z): + return len(x) + len(y) + len(z) + return baz + return bar([4,5,6,7]) + +l = [1,2,3] +x = foo(l) +x([8,9,10,11,12]) diff --git a/v3/example-code/closures/closure4.golden b/v3/example-code/closures/closure4.golden new file mode 100644 index 000000000..d26bb55af --- /dev/null +++ b/v3/example-code/closures/closure4.golden @@ -0,0 +1,1457 @@ +{ + "code": "def f(x):\n def g(y):\n return x + y\n return g\n\ng1 = f(1)\ng2 = f(2)\ng1(3) + g2(4)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "g" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "g1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "g1" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "g1" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "g1" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p", + "ordered_varnames": [ + "x", + "g" + ] + } + ], + "globals": { + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "g1" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f3", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f3", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 3, + "__return__": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f3", + "ordered_varnames": [ + "y", + "__return__" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 4, + "__return__": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "__return__" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 8, + "event": "return" + } + ] +} diff --git a/v3/example-code/closures/closure4.golden_py3 b/v3/example-code/closures/closure4.golden_py3 new file mode 100644 index 000000000..d26bb55af --- /dev/null +++ b/v3/example-code/closures/closure4.golden_py3 @@ -0,0 +1,1457 @@ +{ + "code": "def f(x):\n def g(y):\n return x + y\n return g\n\ng1 = f(1)\ng2 = f(2)\ng1(3) + g2(4)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "g" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "g1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "g1" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "g1" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "g1" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p", + "ordered_varnames": [ + "x", + "g" + ] + } + ], + "globals": { + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "g1" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f3", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f3", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 3, + "__return__": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f3", + "ordered_varnames": [ + "y", + "__return__" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 4, + "__return__": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "__return__" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "g1", + "g2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 2, + "g": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "g2": [ + "REF", + 3 + ], + "g1": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y)", + 1 + ], + "3": [ + "FUNCTION", + "g(y)", + 2 + ] + }, + "line": 8, + "event": "return" + } + ] +} diff --git a/v3/example-code/closures/closure4.txt b/v3/example-code/closures/closure4.txt new file mode 100644 index 000000000..664625712 --- /dev/null +++ b/v3/example-code/closures/closure4.txt @@ -0,0 +1,8 @@ +def f(x): + def g(y): + return x + y + return g + +g1 = f(1) +g2 = f(2) +g1(3) + g2(4) diff --git a/v3/example-code/closures/closure5.golden b/v3/example-code/closures/closure5.golden new file mode 100644 index 000000000..3251000b6 --- /dev/null +++ b/v3/example-code/closures/closure5.golden @@ -0,0 +1,7684 @@ +{ + "code": "def f(x):\n def g(y, z):\n if z == 0:\n return y\n return g(x+y+z, z-1)\n return lambda: g(0, x)\n\nfoo = f(3)\nbar = f(4)\nbaz = foo() + bar()\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "g" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p", + "ordered_varnames": [ + "x", + "g" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "y": 15, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f7", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "y": 15, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f7", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "y": 15, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f7", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "y": 15, + "__return__": 15, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f7", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "__return__": 15, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "__return__": 15, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "__return__": 15, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "y": 26, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f13", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "y": 26, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f13", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "y": 26, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f13", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "y": 26, + "__return__": 26, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f13", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "__return__": 26, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "__return__": 26, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "__return__": 26, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "__return__": 26, + "z": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": 26 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar", + "baz" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "bar": [ + "REF", + 5 + ], + "foo": [ + "REF", + 3 + ], + "baz": 41, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 10, + "event": "return" + } + ] +} diff --git a/v3/example-code/closures/closure5.golden_py3 b/v3/example-code/closures/closure5.golden_py3 new file mode 100644 index 000000000..3251000b6 --- /dev/null +++ b/v3/example-code/closures/closure5.golden_py3 @@ -0,0 +1,7684 @@ +{ + "code": "def f(x):\n def g(y, z):\n if z == 0:\n return y\n return g(x+y+z, z-1)\n return lambda: g(0, x)\n\nfoo = f(3)\nbar = f(4)\nbaz = foo() + bar()\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "g" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p", + "ordered_varnames": [ + "x", + "g" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "y": 15, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f7", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "y": 15, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f7", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "y": 15, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f7", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "y": 15, + "__return__": 15, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f7", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "y": 11, + "__return__": 15, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f6", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 6, + "__return__": 15, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f5", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 0, + "__return__": 15, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f4", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "y": 26, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f13", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "y": 26, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f13", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "y": 26, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f13", + "ordered_varnames": [ + "y", + "z" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "z": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "y": 26, + "__return__": 26, + "z": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f13", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "z": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "y": 21, + "__return__": 26, + "z": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f12", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "z": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "y": 15, + "__return__": 26, + "z": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f11", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "z": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "y": 8, + "__return__": 26, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f10", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [] + }, + { + "frame_id": 9, + "encoded_locals": { + "y": 0, + "__return__": 26, + "z": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "g_f9", + "ordered_varnames": [ + "y", + "z", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": 26 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 3 + ], + "bar": [ + "REF", + 5 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "foo", + "bar", + "baz" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "x": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "x": 4, + "g": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f2_p_z", + "ordered_varnames": [ + "x", + "g", + "__return__" + ] + } + ], + "globals": { + "bar": [ + "REF", + 5 + ], + "foo": [ + "REF", + 3 + ], + "baz": 41, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x)", + null + ], + "2": [ + "FUNCTION", + "g(y, z)", + 1 + ], + "3": [ + "FUNCTION", + "()", + 1 + ], + "4": [ + "FUNCTION", + "g(y, z)", + 2 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 10, + "event": "return" + } + ] +} diff --git a/v3/example-code/closures/closure5.txt b/v3/example-code/closures/closure5.txt new file mode 100644 index 000000000..df094d247 --- /dev/null +++ b/v3/example-code/closures/closure5.txt @@ -0,0 +1,10 @@ +def f(x): + def g(y, z): + if z == 0: + return y + return g(x+y+z, z-1) + return lambda: g(0, x) + +foo = f(3) +bar = f(4) +baz = foo() + bar() diff --git a/v3/example-code/closures/lambda-param.golden b/v3/example-code/closures/lambda-param.golden new file mode 100644 index 000000000..981686dd2 --- /dev/null +++ b/v3/example-code/closures/lambda-param.golden @@ -0,0 +1,758 @@ +{ + "code": "def foo(x):\n bar(lambda y: x + y)\n\ndef bar(a):\n print(a(20))\n\nfoo(10)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ], + "3": [ + "FUNCTION", + "(y)", + 1 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ], + "3": [ + "FUNCTION", + "(y)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ], + "3": [ + "FUNCTION", + "(y)", + 1 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ], + "3": [ + "FUNCTION", + "(y)", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 20, + "__return__": 30 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "y", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ], + "3": [ + "FUNCTION", + "(y)", + 1 + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "30\n", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": [ + "REF", + 3 + ], + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ], + "3": [ + "FUNCTION", + "(y)", + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "30\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "x": 10 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "30\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/example-code/closures/lambda-param.golden_py3 b/v3/example-code/closures/lambda-param.golden_py3 new file mode 100644 index 000000000..981686dd2 --- /dev/null +++ b/v3/example-code/closures/lambda-param.golden_py3 @@ -0,0 +1,758 @@ +{ + "code": "def foo(x):\n bar(lambda y: x + y)\n\ndef bar(a):\n print(a(20))\n\nfoo(10)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ], + "3": [ + "FUNCTION", + "(y)", + 1 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ], + "3": [ + "FUNCTION", + "(y)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ], + "3": [ + "FUNCTION", + "(y)", + 1 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ], + "3": [ + "FUNCTION", + "(y)", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 20, + "__return__": 30 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "y", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ], + "3": [ + "FUNCTION", + "(y)", + 1 + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "30\n", + "func_name": "bar", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": [ + "REF", + 3 + ], + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "bar", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "bar_f2", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ], + "3": [ + "FUNCTION", + "(y)", + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "30\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "x": 10 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "foo", + "bar" + ], + "stdout": "30\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "x": 10 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "foo", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "foo_f1_p_z", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ], + "bar": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo(x)", + null + ], + "2": [ + "FUNCTION", + "bar(a)", + null + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/example-code/closures/lambda-param.txt b/v3/example-code/closures/lambda-param.txt new file mode 100644 index 000000000..4944f2c20 --- /dev/null +++ b/v3/example-code/closures/lambda-param.txt @@ -0,0 +1,7 @@ +def foo(x): + bar(lambda y: x + y) + +def bar(a): + print(a(20)) + +foo(10) diff --git a/v3/example-code/closures/student-torture.golden b/v3/example-code/closures/student-torture.golden new file mode 100644 index 000000000..bb48036aa --- /dev/null +++ b/v3/example-code/closures/student-torture.golden @@ -0,0 +1,11 @@ +{ + "code": "# Example to torture students\n# from UC Berkeley CS61a\n# (only works in Python 3)\n\ndef f(t):\n def g(t):\n def h():\n nonlocal t\n t += 1\n return h, lambda: t\n h, gt = g(0)\n return h, gt, lambda: t\n\nh, gt, ft = f(0)\nft(), gt()\nh()\nft(), gt()\n", + "trace": [ + { + "exception_msg": "SyntaxError: invalid syntax (, line 8)", + "line": 8, + "event": "uncaught_exception", + "offset": 22 + } + ] +} diff --git a/v3/example-code/closures/student-torture.golden_py3 b/v3/example-code/closures/student-torture.golden_py3 new file mode 100644 index 000000000..b6d799315 --- /dev/null +++ b/v3/example-code/closures/student-torture.golden_py3 @@ -0,0 +1,3726 @@ +{ + "code": "# Example to torture students\n# from UC Berkeley CS61a\n# (only works in Python 3)\n\ndef f(t):\n def g(t):\n def h():\n nonlocal t\n t += 1\n return h, lambda: t\n h, gt = g(0)\n return h, gt, lambda: t\n\nh, gt, ft = f(0)\nft(), gt()\nh()\nft(), gt()\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "t" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "t" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "t": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "t" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "t": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "t" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p", + "ordered_varnames": [ + "t", + "h" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g", + "h", + "gt" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 12, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "h", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "h", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "h_f5", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "h", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "h", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "h_f5", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "h", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "h", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "h_f5", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 12, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 17, + "event": "return" + } + ] +} diff --git a/v3/example-code/closures/student-torture.txt b/v3/example-code/closures/student-torture.txt new file mode 100644 index 000000000..c4fa0a10e --- /dev/null +++ b/v3/example-code/closures/student-torture.txt @@ -0,0 +1,17 @@ +# Example to torture students +# from UC Berkeley CS61a +# (only works in Python 3) + +def f(t): + def g(t): + def h(): + nonlocal t + t += 1 + return h, lambda: t + h, gt = g(0) + return h, gt, lambda: t + +h, gt, ft = f(0) +ft(), gt() +h() +ft(), gt() diff --git a/v3/example-code/decorators.golden b/v3/example-code/decorators.golden new file mode 100644 index 000000000..67355fc21 --- /dev/null +++ b/v3/example-code/decorators.golden @@ -0,0 +1,1892 @@ +{ + "code": "def make_bold(fn):\n return lambda : \"\" + fn() + \"\"\n\ndef make_italic(fn):\n return lambda : \"\" + fn() + \"\"\n\n@make_bold\n@make_italic\ndef hello():\n return \"hello world\"\n \nhelloHTML = hello()\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "make_bold": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "make_italic", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "make_italic", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1", + "ordered_varnames": [ + "fn" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "make_italic", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "make_italic", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1", + "ordered_varnames": [ + "fn" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "make_italic", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p", + "ordered_varnames": [ + "fn", + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "make_bold", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "make_bold", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2", + "ordered_varnames": [ + "fn" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "make_bold", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "make_bold", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2", + "ordered_varnames": [ + "fn" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "make_bold", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p", + "ordered_varnames": [ + "fn", + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "hello", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + }, + { + "frame_id": 5, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "hello", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "hello_f5", + "ordered_varnames": [] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "hello", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + }, + { + "frame_id": 5, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "hello", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "hello_f5", + "ordered_varnames": [] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "hello", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": "hello world" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "hello", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "hello_f5", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": "hello world" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": "hello world" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello", + "helloHTML" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ], + "helloHTML": "hello world" + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 12, + "event": "return" + } + ] +} diff --git a/v3/example-code/decorators.golden_py3 b/v3/example-code/decorators.golden_py3 new file mode 100644 index 000000000..67355fc21 --- /dev/null +++ b/v3/example-code/decorators.golden_py3 @@ -0,0 +1,1892 @@ +{ + "code": "def make_bold(fn):\n return lambda : \"\" + fn() + \"\"\n\ndef make_italic(fn):\n return lambda : \"\" + fn() + \"\"\n\n@make_bold\n@make_italic\ndef hello():\n return \"hello world\"\n \nhelloHTML = hello()\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "make_bold": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "make_italic", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "make_italic", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1", + "ordered_varnames": [ + "fn" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "make_italic", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "make_italic", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1", + "ordered_varnames": [ + "fn" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "make_italic", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p", + "ordered_varnames": [ + "fn", + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "make_bold", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "make_bold", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2", + "ordered_varnames": [ + "fn" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "make_bold", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "make_bold", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2", + "ordered_varnames": [ + "fn" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic" + ], + "stdout": "", + "func_name": "make_bold", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p", + "ordered_varnames": [ + "fn", + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "hello", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + }, + { + "frame_id": 5, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "hello", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "hello_f5", + "ordered_varnames": [] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "hello", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + }, + { + "frame_id": 5, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "hello", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "hello_f5", + "ordered_varnames": [] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "hello", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": "hello world" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "hello", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "hello_f5", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": "hello world" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": "hello world" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "make_bold", + "make_italic", + "hello", + "helloHTML" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "fn": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_italic", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_italic_f1_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "fn": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "make_bold", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "make_bold_f2_p_z", + "ordered_varnames": [ + "fn", + "__return__" + ] + } + ], + "globals": { + "make_bold": [ + "REF", + 1 + ], + "make_italic": [ + "REF", + 2 + ], + "hello": [ + "REF", + 5 + ], + "helloHTML": "hello world" + }, + "heap": { + "1": [ + "FUNCTION", + "make_bold(fn)", + null + ], + "2": [ + "FUNCTION", + "make_italic(fn)", + null + ], + "3": [ + "FUNCTION", + "hello()", + null + ], + "4": [ + "FUNCTION", + "()", + 1 + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 12, + "event": "return" + } + ] +} diff --git a/v3/example-code/decorators.txt b/v3/example-code/decorators.txt new file mode 100644 index 000000000..b267bac5f --- /dev/null +++ b/v3/example-code/decorators.txt @@ -0,0 +1,12 @@ +def make_bold(fn): + return lambda : "" + fn() + "" + +def make_italic(fn): + return lambda : "" + fn() + "" + +@make_bold +@make_italic +def hello(): + return "hello world" + +helloHTML = hello() diff --git a/v3/example-code/fact.golden b/v3/example-code/fact.golden new file mode 100644 index 000000000..6f756d707 --- /dev/null +++ b/v3/example-code/fact.golden @@ -0,0 +1,1909 @@ +{ + "code": "# dumb recursive factorial\ndef fact(n):\n if (n <= 1):\n return 1\n else:\n return n * fact(n - 1)\n\nprint(fact(6))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 1, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f6", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": 2, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 6, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 24, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 120, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 720, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "720\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 8, + "event": "return" + } + ] +} diff --git a/v3/example-code/fact.golden_py3 b/v3/example-code/fact.golden_py3 new file mode 100644 index 000000000..6f756d707 --- /dev/null +++ b/v3/example-code/fact.golden_py3 @@ -0,0 +1,1909 @@ +{ + "code": "# dumb recursive factorial\ndef fact(n):\n if (n <= 1):\n return 1\n else:\n return n * fact(n - 1)\n\nprint(fact(6))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 1, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f6", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": 2, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f5", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 6, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f4", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 24, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f3", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 120, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f2", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "", + "func_name": "fact", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 720, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "fact", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "fact_f1", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "fact" + ], + "stdout": "720\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "fact": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "fact(n)", + null + ] + }, + "line": 8, + "event": "return" + } + ] +} diff --git a/example-code/fact.txt b/v3/example-code/fact.txt similarity index 88% rename from example-code/fact.txt rename to v3/example-code/fact.txt index d956324b0..a6b6f446f 100644 --- a/example-code/fact.txt +++ b/v3/example-code/fact.txt @@ -5,4 +5,4 @@ def fact(n): else: return n * fact(n - 1) -print fact(6) +print(fact(6)) diff --git a/v3/example-code/fib.golden b/v3/example-code/fib.golden new file mode 100644 index 000000000..7afe29d04 --- /dev/null +++ b/v3/example-code/fib.golden @@ -0,0 +1,7545 @@ +{ + "code": "# Infinite Fibonacci!!!\n\narr = [1, 1]\n\nprint(arr[0])\n\nwhile True:\n print(arr[-1])\n tmp = sum(arr)\n arr.append(tmp)\n del arr[0]\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1, + 2 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 5 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5, + 8 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8, + 13 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13, + 21 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21, + 34 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34, + 55 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55, + 89 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89, + 144 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144, + 233 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233, + 377 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377, + 610 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610, + 987 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987, + 1597 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597, + 2584 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584, + 4181 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181, + 6765 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765, + 10946 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946, + 17711 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711, + 28657 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657, + 46368 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368, + 75025 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025, + 121393 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393, + 196418 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418, + 317811 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811, + 514229 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229, + 832040 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040, + 1346269 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269, + 2178309 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309, + 3524578 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578, + 5702887 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887, + 9227465 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465, + 14930352 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352, + 24157817 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817, + 39088169 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169, + 63245986 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986, + 102334155 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155, + 165580141 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141, + 267914296 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296, + 433494437 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437, + 701408733 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733, + 1134903170 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170, + 1836311903 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903, + 2971215073 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073, + 4807526976 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976, + 7778742049 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049, + 12586269025 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025, + 20365011074 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074, + 32951280099 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099, + 53316291173 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173, + 86267571272 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272, + 139583862445 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445, + 225851433717 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717, + 365435296162 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162, + 591286729879 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879, + 956722026041 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041, + 1548008755920 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920, + 2504730781961 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "exception_msg": "(stopped after 300 steps to prevent possible infinite loop)", + "event": "instruction_limit_reached" + } + ] +} diff --git a/v3/example-code/fib.golden_py3 b/v3/example-code/fib.golden_py3 new file mode 100644 index 000000000..55c3b980b --- /dev/null +++ b/v3/example-code/fib.golden_py3 @@ -0,0 +1,7560 @@ +{ + "code": "# Infinite Fibonacci!!!\n\narr = [1, 1]\n\nprint(arr[0])\n\nwhile True:\n print(arr[-1])\n tmp = sum(arr)\n arr.append(tmp)\n del arr[0]\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1, + 2 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 5 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5, + 8 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8, + 13 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13, + 21 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21, + 34 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34, + 55 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55, + 89 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89, + 144 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144, + 233 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233, + 377 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377, + 610 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610, + 987 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987, + 1597 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597, + 2584 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584, + 4181 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181, + 6765 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765, + 10946 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946, + 17711 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711, + 28657 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657, + 46368 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368, + 75025 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025, + 121393 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393, + 196418 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418, + 317811 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811, + 514229 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229, + 832040 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040, + 1346269 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269, + 2178309 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309, + 3524578 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578, + 5702887 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887, + 9227465 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465, + 14930352 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352, + 24157817 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817, + 39088169 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169, + 63245986 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986, + 102334155 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155, + 165580141 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141, + 267914296 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296, + 433494437 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437, + 701408733 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733, + 1134903170 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170, + 1836311903 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903, + 2971215073 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073, + 4807526976 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976, + 7778742049 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049, + 12586269025 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025, + 20365011074 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074, + 32951280099 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099, + 53316291173 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173, + 86267571272 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272, + 139583862445 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445, + 225851433717 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717, + 365435296162 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162, + 591286729879 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879, + 956722026041 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041, + 1548008755920 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920, + 2504730781961 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4052739537881, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4052739537881, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961, + 4052739537881 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4052739537881, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2504730781961, + 4052739537881 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4052739537881, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2504730781961, + 4052739537881 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6557470319842, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2504730781961, + 4052739537881 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6557470319842, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2504730781961, + 4052739537881, + 6557470319842 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6557470319842, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4052739537881, + 6557470319842 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6557470319842, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4052739537881, + 6557470319842 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10610209857723, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4052739537881, + 6557470319842 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10610209857723, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4052739537881, + 6557470319842, + 10610209857723 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10610209857723, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6557470319842, + 10610209857723 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10610209857723, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6557470319842, + 10610209857723 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17167680177565, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6557470319842, + 10610209857723 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17167680177565, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6557470319842, + 10610209857723, + 17167680177565 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17167680177565, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10610209857723, + 17167680177565 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17167680177565, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10610209857723, + 17167680177565 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 27777890035288, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10610209857723, + 17167680177565 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 27777890035288, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10610209857723, + 17167680177565, + 27777890035288 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 27777890035288, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17167680177565, + 27777890035288 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 27777890035288, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17167680177565, + 27777890035288 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 44945570212853, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17167680177565, + 27777890035288 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 44945570212853, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17167680177565, + 27777890035288, + 44945570212853 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 44945570212853, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 27777890035288, + 44945570212853 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 44945570212853, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 27777890035288, + 44945570212853 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 72723460248141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 27777890035288, + 44945570212853 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 72723460248141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 27777890035288, + 44945570212853, + 72723460248141 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 72723460248141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 44945570212853, + 72723460248141 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 72723460248141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 44945570212853, + 72723460248141 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 117669030460994, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 44945570212853, + 72723460248141 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 117669030460994, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 44945570212853, + 72723460248141, + 117669030460994 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 117669030460994, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 72723460248141, + 117669030460994 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 117669030460994, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 72723460248141, + 117669030460994 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 190392490709135, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 72723460248141, + 117669030460994 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 190392490709135, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 72723460248141, + 117669030460994, + 190392490709135 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 190392490709135, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 117669030460994, + 190392490709135 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 190392490709135, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 117669030460994, + 190392490709135 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 308061521170129, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 117669030460994, + 190392490709135 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 308061521170129, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 117669030460994, + 190392490709135, + 308061521170129 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 308061521170129, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 190392490709135, + 308061521170129 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 308061521170129, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 190392490709135, + 308061521170129 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 498454011879264, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 190392490709135, + 308061521170129 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 498454011879264, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 190392490709135, + 308061521170129, + 498454011879264 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 498454011879264, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 308061521170129, + 498454011879264 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 498454011879264, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 308061521170129, + 498454011879264 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 806515533049393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 308061521170129, + 498454011879264 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 806515533049393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 308061521170129, + 498454011879264, + 806515533049393 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 806515533049393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 498454011879264, + 806515533049393 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 806515533049393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 498454011879264, + 806515533049393 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1304969544928657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 498454011879264, + 806515533049393 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1304969544928657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 498454011879264, + 806515533049393, + 1304969544928657 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1304969544928657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 806515533049393, + 1304969544928657 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1304969544928657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 806515533049393, + 1304969544928657 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2111485077978050, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 806515533049393, + 1304969544928657 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2111485077978050, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 806515533049393, + 1304969544928657, + 2111485077978050 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2111485077978050, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1304969544928657, + 2111485077978050 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n2111485077978050\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2111485077978050, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1304969544928657, + 2111485077978050 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n2111485077978050\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3416454622906707, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1304969544928657, + 2111485077978050 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n2111485077978050\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3416454622906707, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1304969544928657, + 2111485077978050, + 3416454622906707 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n2111485077978050\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3416454622906707, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2111485077978050, + 3416454622906707 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "exception_msg": "(stopped after 300 steps to prevent possible infinite loop)", + "event": "instruction_limit_reached" + } + ] +} diff --git a/example-code/fib.txt b/v3/example-code/fib.txt similarity index 76% rename from example-code/fib.txt rename to v3/example-code/fib.txt index 96c8799c2..d5447f19b 100644 --- a/example-code/fib.txt +++ b/v3/example-code/fib.txt @@ -2,10 +2,10 @@ arr = [1, 1] -print arr[0] +print(arr[0]) while True: - print arr[-1] + print(arr[-1]) tmp = sum(arr) arr.append(tmp) del arr[0] diff --git a/v3/example-code/filter.golden b/v3/example-code/filter.golden new file mode 100644 index 000000000..1e1111344 --- /dev/null +++ b/v3/example-code/filter.golden @@ -0,0 +1,1505 @@ +{ + "code": "input = [(\"Mary\", 27), (\"Joe\", 30), (\"Ruth\", 43), (\"Bob\", 17), (\"Jenny\", 22)]\n\nyoungPeople = []\n\nfor (person, age) in input:\n if age < 30:\n youngPeople.append(person)\n else:\n print(\"HAHA \" + person + \" is too old!\")\n\nprint(\"There are \" + str(len(youngPeople)) + \" young people\")\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "input": [ + "REF", + 1 + ], + "youngPeople": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Mary", + "youngPeople": [ + "REF", + 7 + ], + "age": 27, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Mary", + "youngPeople": [ + "REF", + 7 + ], + "age": 27, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Mary", + "youngPeople": [ + "REF", + 7 + ], + "age": 27, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Joe", + "youngPeople": [ + "REF", + 7 + ], + "age": 30, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Joe", + "youngPeople": [ + "REF", + 7 + ], + "age": 30, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Joe", + "youngPeople": [ + "REF", + 7 + ], + "age": 30, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Ruth", + "youngPeople": [ + "REF", + 7 + ], + "age": 43, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Ruth", + "youngPeople": [ + "REF", + 7 + ], + "age": 43, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Ruth", + "youngPeople": [ + "REF", + 7 + ], + "age": 43, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Bob", + "youngPeople": [ + "REF", + 7 + ], + "age": 17, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Bob", + "youngPeople": [ + "REF", + 7 + ], + "age": 17, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Bob", + "youngPeople": [ + "REF", + 7 + ], + "age": 17, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary", + "Bob" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Jenny", + "youngPeople": [ + "REF", + 7 + ], + "age": 22, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary", + "Bob" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Jenny", + "youngPeople": [ + "REF", + 7 + ], + "age": 22, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary", + "Bob" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Jenny", + "youngPeople": [ + "REF", + 7 + ], + "age": 22, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary", + "Bob", + "Jenny" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Jenny", + "youngPeople": [ + "REF", + 7 + ], + "age": 22, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary", + "Bob", + "Jenny" + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\nThere are 3 young people\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Jenny", + "youngPeople": [ + "REF", + 7 + ], + "age": 22, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary", + "Bob", + "Jenny" + ] + }, + "line": 11, + "event": "return" + } + ] +} diff --git a/v3/example-code/filter.golden_py3 b/v3/example-code/filter.golden_py3 new file mode 100644 index 000000000..1e1111344 --- /dev/null +++ b/v3/example-code/filter.golden_py3 @@ -0,0 +1,1505 @@ +{ + "code": "input = [(\"Mary\", 27), (\"Joe\", 30), (\"Ruth\", 43), (\"Bob\", 17), (\"Jenny\", 22)]\n\nyoungPeople = []\n\nfor (person, age) in input:\n if age < 30:\n youngPeople.append(person)\n else:\n print(\"HAHA \" + person + \" is too old!\")\n\nprint(\"There are \" + str(len(youngPeople)) + \" young people\")\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "input": [ + "REF", + 1 + ], + "youngPeople": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Mary", + "youngPeople": [ + "REF", + 7 + ], + "age": 27, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Mary", + "youngPeople": [ + "REF", + 7 + ], + "age": 27, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Mary", + "youngPeople": [ + "REF", + 7 + ], + "age": 27, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Joe", + "youngPeople": [ + "REF", + 7 + ], + "age": 30, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Joe", + "youngPeople": [ + "REF", + 7 + ], + "age": 30, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Joe", + "youngPeople": [ + "REF", + 7 + ], + "age": 30, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Ruth", + "youngPeople": [ + "REF", + 7 + ], + "age": 43, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Ruth", + "youngPeople": [ + "REF", + 7 + ], + "age": 43, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Ruth", + "youngPeople": [ + "REF", + 7 + ], + "age": 43, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Bob", + "youngPeople": [ + "REF", + 7 + ], + "age": 17, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Bob", + "youngPeople": [ + "REF", + 7 + ], + "age": 17, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Bob", + "youngPeople": [ + "REF", + 7 + ], + "age": 17, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary", + "Bob" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Jenny", + "youngPeople": [ + "REF", + 7 + ], + "age": 22, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary", + "Bob" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Jenny", + "youngPeople": [ + "REF", + 7 + ], + "age": 22, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary", + "Bob" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Jenny", + "youngPeople": [ + "REF", + 7 + ], + "age": 22, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary", + "Bob", + "Jenny" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Jenny", + "youngPeople": [ + "REF", + 7 + ], + "age": 22, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary", + "Bob", + "Jenny" + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "youngPeople", + "person", + "age" + ], + "stdout": "HAHA Joe is too old!\nHAHA Ruth is too old!\nThere are 3 young people\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "person": "Jenny", + "youngPeople": [ + "REF", + 7 + ], + "age": 22, + "input": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + [ + "REF", + 2 + ], + [ + "REF", + 3 + ], + [ + "REF", + 4 + ], + [ + "REF", + 5 + ], + [ + "REF", + 6 + ] + ], + "2": [ + "TUPLE", + "Mary", + 27 + ], + "3": [ + "TUPLE", + "Joe", + 30 + ], + "4": [ + "TUPLE", + "Ruth", + 43 + ], + "5": [ + "TUPLE", + "Bob", + 17 + ], + "6": [ + "TUPLE", + "Jenny", + 22 + ], + "7": [ + "LIST", + "Mary", + "Bob", + "Jenny" + ] + }, + "line": 11, + "event": "return" + } + ] +} diff --git a/example-code/filter.txt b/v3/example-code/filter.txt similarity index 62% rename from example-code/filter.txt rename to v3/example-code/filter.txt index f3b3916fb..e09de854c 100644 --- a/example-code/filter.txt +++ b/v3/example-code/filter.txt @@ -6,6 +6,6 @@ for (person, age) in input: if age < 30: youngPeople.append(person) else: - print "HAHA", person, "is too old!" + print("HAHA " + person + " is too old!") -print "There are", len(youngPeople), "young people" +print("There are " + str(len(youngPeople)) + " young people") diff --git a/v3/example-code/for-else.golden b/v3/example-code/for-else.golden new file mode 100644 index 000000000..479a67f6f --- /dev/null +++ b/v3/example-code/for-else.golden @@ -0,0 +1,1634 @@ +{ + "code": "# find primes using a for-else construct\nfor n in range(2, 10):\n x_range = range(2, n)\n for x in x_range:\n if n % x == 0:\n break\n else:\n # loop fell through without finding a factor\n print(n)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "n": 2 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 2 + }, + "heap": { + "1": [ + "LIST" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 2 + }, + "heap": { + "1": [ + "LIST" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 2 + }, + "heap": { + "1": [ + "LIST" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 3 + }, + "heap": { + "1": [ + "LIST" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 3 + }, + "heap": { + "2": [ + "LIST", + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 3, + "x": 2 + }, + "heap": { + "2": [ + "LIST", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 3, + "x": 2 + }, + "heap": { + "2": [ + "LIST", + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 3, + "x": 2 + }, + "heap": { + "2": [ + "LIST", + 2 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 3, + "x": 2 + }, + "heap": { + "2": [ + "LIST", + 2 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 4, + "x": 2 + }, + "heap": { + "2": [ + "LIST", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 4, + "x": 2 + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 4, + "x": 2 + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 4, + "x": 2 + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 4, + "x": 2 + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 5, + "x": 2 + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 5, + "x": 2 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 5, + "x": 2 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 5, + "x": 2 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 5, + "x": 3 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 5, + "x": 3 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 5, + "x": 4 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 5, + "x": 4 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 5, + "x": 4 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 5, + "x": 4 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 6, + "x": 4 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 6, + "x": 4 + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 4, + 5 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 6, + "x": 2 + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 4, + 5 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 6, + "x": 2 + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 4, + 5 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 6, + "x": 2 + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 4, + 5 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 7, + "x": 2 + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 4, + 5 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 2 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 2 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 2 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 3 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 3 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 4 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 4 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 5 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 5 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 6 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 6 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 6 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 6 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 8, + "x": 6 + }, + "heap": { + "2": [ + "LIST", + 2, + 3, + 4, + 5, + 6 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 8, + "x": 6 + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 4, + 5, + 6, + 7 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 8, + "x": 2 + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 4, + 5, + 6, + 7 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 8, + "x": 2 + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 4, + 5, + 6, + 7 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 8, + "x": 2 + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 4, + 5, + 6, + 7 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 9, + "x": 2 + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 4, + 5, + 6, + 7 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 9, + "x": 2 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 9, + "x": 2 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 9, + "x": 2 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 9, + "x": 3 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 9, + "x": 3 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 9, + "x": 3 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 3 + ], + "n": 9, + "x": 3 + }, + "heap": { + "3": [ + "LIST", + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/example-code/for-else.golden_py3 b/v3/example-code/for-else.golden_py3 new file mode 100644 index 000000000..ad8845399 --- /dev/null +++ b/v3/example-code/for-else.golden_py3 @@ -0,0 +1,1475 @@ +{ + "code": "# find primes using a for-else construct\nfor n in range(2, 10):\n x_range = range(2, n)\n for x in x_range:\n if n % x == 0:\n break\n else:\n # loop fell through without finding a factor\n print(n)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "n": 2 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 3 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 3 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 3, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 3, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 3, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 3, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 4, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 4, + "x": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 4, + "x": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 4, + "x": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 4, + "x": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 5, + "x": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 5, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 5, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 5, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 5, + "x": 3 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 5, + "x": 3 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 5, + "x": 4 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 5, + "x": 4 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 5, + "x": 4 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 5, + "x": 4 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 6, + "x": 4 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 6, + "x": 4 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 6, + "x": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 6, + "x": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 6, + "x": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 7, + "x": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 3 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 3 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 4 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 4 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 5 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 5 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 6 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 6 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 6 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 7, + "x": 6 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 8, + "x": 6 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 8, + "x": 6 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 8, + "x": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 8, + "x": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 8, + "x": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 1 + ], + "n": 9, + "x": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "range" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 9, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 9, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 9, + "x": 2 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 9, + "x": 3 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 9, + "x": 3 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 9, + "x": 3 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "n", + "x_range", + "x" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x_range": [ + "REF", + 2 + ], + "n": 9, + "x": 3 + }, + "heap": { + "2": [ + "INSTANCE", + "range" + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/example-code/for-else.txt b/v3/example-code/for-else.txt new file mode 100644 index 000000000..1eaf5fff7 --- /dev/null +++ b/v3/example-code/for-else.txt @@ -0,0 +1,9 @@ +# find primes using a for-else construct +for n in range(2, 10): + x_range = range(2, n) + for x in x_range: + if n % x == 0: + break + else: + # loop fell through without finding a factor + print(n) diff --git a/v3/example-code/gen_primes.golden b/v3/example-code/gen_primes.golden new file mode 100644 index 000000000..480ece9bb --- /dev/null +++ b/v3/example-code/gen_primes.golden @@ -0,0 +1,12544 @@ +{ + "code": "# Use generator to generate a stream of primes\ndef gen_primes():\n n = 2\n while True:\n for x in range(2, n):\n if n % x == 0:\n break\n else:\n yield n\n n += 1\n\nfor p in gen_primes():\n print(p)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f1", + "ordered_varnames": [] + } + ], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f1", + "ordered_varnames": [] + } + ], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 2, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f1", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "x": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "x": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "x": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "__return__": 3, + "x": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 3, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 3, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 4, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 4, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 4, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "__return__": 5, + "x": 4, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 4, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 4, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 4, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 4, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 2, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 2, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 2, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 2, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 2, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 2, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 2, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 3, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 3, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 4, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 4, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 5, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 5, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 6, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 6, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 6, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "__return__": 7, + "x": 6, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 6, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 6, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 6, + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 6, + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 3, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 3, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 3, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 3, + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 3, + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 3, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 3, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 4, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 4, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 5, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 5, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 6, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 6, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 7, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 7, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 8, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 8, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 9, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 9, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 10, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 10, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 10, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "__return__": 11, + "x": 10, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 10, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 10, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 10, + "n": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 10, + "n": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 2, + "n": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 2, + "n": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 2, + "n": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 2, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 2, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 2, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 2, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 3, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 3, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 4, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 4, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 5, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 5, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 6, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 6, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 7, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 7, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 8, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 8, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 9, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 9, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 10, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 10, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 11, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 11, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 12, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 12, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 12, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "__return__": 13, + "x": 12, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 12, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 12, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 12, + "n": 14 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 12, + "n": 14 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 14 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 14 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 14 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 3, + "n": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 3, + "n": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 3, + "n": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 3, + "n": 16 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 3, + "n": 16 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 16 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 16 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 16 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 3, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 3, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 4, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 4, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 5, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 5, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 6, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 6, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 7, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 7, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 8, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 8, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 9, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 9, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 10, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 10, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 11, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 11, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 12, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 12, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 13, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 13, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 14, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 14, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 15, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 15, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 16, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 16, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 16, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "__return__": 17, + "x": 16, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 16, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 16, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 16, + "n": 18 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 16, + "n": 18 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 2, + "n": 18 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 2, + "n": 18 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 2, + "n": 18 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 2, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 2, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 2, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 2, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 3, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 3, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 4, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 4, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 5, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 5, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 6, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 6, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 7, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 7, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 8, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 8, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 9, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 9, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 10, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 10, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 11, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 11, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 12, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 12, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 13, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 13, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 14, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 14, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 15, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 15, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 16, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 16, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 17, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 17, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 18, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 18, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 18, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "__return__": 19, + "x": 18, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 18, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 18, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 18, + "n": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 18, + "n": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "n": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "n": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "n": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "n": 22 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "n": 22 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 22 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 22 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 22 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 4, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 4, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 5, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 5, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 6, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 6, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 7, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 7, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 8, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 8, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 9, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 9, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 10, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 10, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 11, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 11, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 12, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 12, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 13, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 13, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 14, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 14, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 15, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 15, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 16, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 16, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 17, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 17, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 18, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 18, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 19, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 19, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 20, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "exception_msg": "(stopped after 300 steps to prevent possible infinite loop)", + "event": "instruction_limit_reached" + } + ] +} diff --git a/v3/example-code/gen_primes.golden_py3 b/v3/example-code/gen_primes.golden_py3 new file mode 100644 index 000000000..802f27735 --- /dev/null +++ b/v3/example-code/gen_primes.golden_py3 @@ -0,0 +1,12512 @@ +{ + "code": "# Use generator to generate a stream of primes\ndef gen_primes():\n n = 2\n while True:\n for x in range(2, n):\n if n % x == 0:\n break\n else:\n yield n\n n += 1\n\nfor p in gen_primes():\n print(p)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f1", + "ordered_varnames": [] + } + ], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f1", + "ordered_varnames": [] + } + ], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes" + ], + "stdout": "", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 2, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f1", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "x": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "x": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "x": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "__return__": 3, + "x": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f2", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 2, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 2, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 3, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 3, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 4, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 4, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 4, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "__return__": 5, + "x": 4, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f3", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 3, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 4, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 4, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 4, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 2, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 2, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 2, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 2, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 2, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 2, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 3, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 3, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 4, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 4, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 5, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 5, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 6, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 6, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 6, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "__return__": 7, + "x": 6, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f4", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 5, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 6, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 6, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 6, + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 3, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 3, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 3, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 3, + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 2, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 3, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 3, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 4, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 4, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 5, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 5, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 6, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 6, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 7, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 7, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 8, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 8, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 9, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 9, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 10, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 10, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 10, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "__return__": 11, + "x": 10, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f5", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 7, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 10, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 10, + "n": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 10, + "n": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 2, + "n": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 2, + "n": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 2, + "n": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 2, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 2, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 2, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 3, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 3, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 4, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 4, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 5, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 5, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 6, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 6, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 7, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 7, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 8, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 8, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 9, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 9, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 10, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 10, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 11, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 11, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 12, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 12, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 12, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "__return__": 13, + "x": 12, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f6", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 11, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 12, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 12, + "n": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 12, + "n": 14 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 14 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 14 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 14 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 3, + "n": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 3, + "n": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 3, + "n": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 3, + "n": 16 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 16 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 16 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 16 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 2, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 3, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 3, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 4, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 4, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 5, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 5, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 6, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 6, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 7, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 7, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 8, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 8, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 9, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 9, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 10, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 10, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 11, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 11, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 12, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 12, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 13, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 13, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 14, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 14, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 15, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 15, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 16, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 16, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 16, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "__return__": 17, + "x": 16, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f7", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 13, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 16, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 16, + "n": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 16, + "n": 18 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 2, + "n": 18 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 2, + "n": 18 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 2, + "n": 18 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 2, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 2, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 2, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 3, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 3, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 4, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 4, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 5, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 5, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 6, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 6, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 7, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 7, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 8, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 8, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 9, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 9, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 10, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 10, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 11, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 11, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 12, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 12, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 13, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 13, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 14, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 14, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 15, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 15, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 16, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 16, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 17, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 17, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 18, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 18, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 18, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "__return__": 19, + "x": 18, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f8", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 17, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 18, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 18, + "n": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 18, + "n": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "n": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "n": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "n": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "n": 22 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 22 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 22 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 22 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 2, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 4, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 4, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 5, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 5, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 6, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 6, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 7, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 7, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 8, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 8, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 9, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 9, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 10, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 10, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 11, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 11, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 12, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 12, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 13, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 13, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 14, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 14, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 15, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 15, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 16, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 16, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 17, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 17, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 18, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 18, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 19, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 19, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 20, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 20, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 21, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 21, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 22, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 22, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 22, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "__return__": 23, + "x": 22, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f9", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "p": 19, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n23\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n23\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 22, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f10", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n23\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 22, + "n": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f10", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n23\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 22, + "n": 24 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f10", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n23\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 2, + "n": 24 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f10", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n23\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 2, + "n": 24 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f10", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n23\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 2, + "n": 24 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f10", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n23\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 2, + "n": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f10", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n23\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 2, + "n": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f10", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n23\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 2, + "n": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f10", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n23\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 3, + "n": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f10", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n23\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 3, + "n": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f10", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_primes", + "p" + ], + "stdout": "2\n3\n5\n7\n11\n13\n17\n19\n23\n", + "func_name": "gen_primes", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 4, + "n": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_primes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_primes_f10", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "p": 23, + "gen_primes": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_primes()", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "exception_msg": "(stopped after 300 steps to prevent possible infinite loop)", + "event": "instruction_limit_reached" + } + ] +} diff --git a/v3/example-code/gen_primes.txt b/v3/example-code/gen_primes.txt new file mode 100644 index 000000000..2b047187b --- /dev/null +++ b/v3/example-code/gen_primes.txt @@ -0,0 +1,14 @@ +# Use generator to generate a stream of primes +def gen_primes(): + n = 2 + while True: + for x in range(2, n): + if n % x == 0: + break + else: + yield n + n += 1 + +for p in gen_primes(): + print(p) + diff --git a/v3/example-code/genexpr.golden b/v3/example-code/genexpr.golden new file mode 100644 index 000000000..aebc24d6d --- /dev/null +++ b/v3/example-code/genexpr.golden @@ -0,0 +1,2170 @@ +{ + "code": "# NB: there's a known bug when frames of exited functions are displayed\nx = (i for i in range(10))\n\nfor e in x:\n print(e)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 0, + "__return__": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 0 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 0 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 0 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 0 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 1, + "__return__": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 0 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 1 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 1 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f3", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 1 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f3", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 1 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 2, + "__return__": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f3", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 1 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 2 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 2 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 2 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 2 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 3, + "__return__": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 2 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 3 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 3 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f5", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 3 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f5", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 3 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 4, + "__return__": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f5", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 3 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 4 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 4 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f6", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 4 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f6", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 4 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 5, + "__return__": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f6", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 4 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 5 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 5 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f7", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 5 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f7", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 5 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 6, + "__return__": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f7", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 5 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 6 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 6 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f8", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 6 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f8", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 6 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 7, + "__return__": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f8", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 6 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 7 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 7 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f9", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 7 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f9", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 7 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 8, + "__return__": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f9", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 7 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 8 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 8 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f10", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 8 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f10", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 8 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 9, + "__return__": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f10", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 8 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 9 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 9 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f11", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 9 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f11", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 9 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 9, + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f11", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 9 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "listiterator", + "" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 9 + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 4, + "event": "return" + } + ] +} diff --git a/v3/example-code/genexpr.golden_py3 b/v3/example-code/genexpr.golden_py3 new file mode 100644 index 000000000..10ad0ebac --- /dev/null +++ b/v3/example-code/genexpr.golden_py3 @@ -0,0 +1,2170 @@ +{ + "code": "# NB: there's a known bug when frames of exited functions are displayed\nx = (i for i in range(10))\n\nfor e in x:\n print(e)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 0, + "__return__": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 0 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 0 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 0 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 0 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 1, + "__return__": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 0 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 1 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 1 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f3", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 1 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f3", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 1 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 2, + "__return__": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f3", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 1 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 3, + "__return__": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 2 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 3 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 3 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f5", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 3 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f5", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 3 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 4, + "__return__": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f5", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 3 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 4 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 4 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f6", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 4 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f6", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 4 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 5, + "__return__": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f6", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 4 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 5 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 5 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f7", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 5 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f7", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 5 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 6, + "__return__": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f7", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 5 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 6 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 6 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f8", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 6 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f8", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 6 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 7, + "__return__": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f8", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 6 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 7 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 7 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f9", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 7 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f9", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 7 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 8, + "__return__": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f9", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 7 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 8 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 8 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f10", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 8 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f10", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 8 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 9, + "__return__": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f10", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 8 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 9 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 9 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f11", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 9 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f11", + "ordered_varnames": [ + ".0", + "i" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 9 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "i": 9, + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f11", + "ordered_varnames": [ + ".0", + "i", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 9 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "range_iterator" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "e" + ], + "stdout": "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "e": 9 + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 4, + "event": "return" + } + ] +} diff --git a/v3/example-code/genexpr.txt b/v3/example-code/genexpr.txt new file mode 100644 index 000000000..46bac3e62 --- /dev/null +++ b/v3/example-code/genexpr.txt @@ -0,0 +1,5 @@ +# NB: there's a known bug when frames of exited functions are displayed +x = (i for i in range(10)) + +for e in x: + print(e) diff --git a/v3/example-code/happy.golden b/v3/example-code/happy.golden new file mode 100644 index 000000000..ea1a6a7e0 --- /dev/null +++ b/v3/example-code/happy.golden @@ -0,0 +1,952 @@ +{ + "code": "# From \"Teaching with Python\" by John Zelle\ndef happy():\n print(\"Happy Birthday to you!\")\n\ndef sing(P):\n happy()\n happy()\n print(\"Happy Birthday dear \" + P + \"!\")\n happy()\n\n# main\nsing(\"Fred\")\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "", + "func_name": "sing", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "", + "func_name": "sing", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f2", + "ordered_varnames": [] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f2", + "ordered_varnames": [] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f2", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\n", + "func_name": "sing", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f3", + "ordered_varnames": [] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f3", + "ordered_varnames": [] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f3", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\n", + "func_name": "sing", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\n", + "func_name": "sing", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f4", + "ordered_varnames": [] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f4", + "ordered_varnames": [] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\nHappy Birthday to you!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f4", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\nHappy Birthday to you!\n", + "func_name": "sing", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "P": "Fred" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P", + "__return__" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\nHappy Birthday to you!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 12, + "event": "return" + } + ] +} diff --git a/v3/example-code/happy.golden_py3 b/v3/example-code/happy.golden_py3 new file mode 100644 index 000000000..ea1a6a7e0 --- /dev/null +++ b/v3/example-code/happy.golden_py3 @@ -0,0 +1,952 @@ +{ + "code": "# From \"Teaching with Python\" by John Zelle\ndef happy():\n print(\"Happy Birthday to you!\")\n\ndef sing(P):\n happy()\n happy()\n print(\"Happy Birthday dear \" + P + \"!\")\n happy()\n\n# main\nsing(\"Fred\")\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "", + "func_name": "sing", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "", + "func_name": "sing", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f2", + "ordered_varnames": [] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f2", + "ordered_varnames": [] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f2", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\n", + "func_name": "sing", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f3", + "ordered_varnames": [] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f3", + "ordered_varnames": [] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f3", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\n", + "func_name": "sing", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\n", + "func_name": "sing", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f4", + "ordered_varnames": [] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f4", + "ordered_varnames": [] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\nHappy Birthday to you!\n", + "func_name": "happy", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "P": "Fred" + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "happy", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "happy_f4", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\nHappy Birthday to you!\n", + "func_name": "sing", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "P": "Fred" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sing", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sing_f1", + "ordered_varnames": [ + "P", + "__return__" + ] + } + ], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "happy", + "sing" + ], + "stdout": "Happy Birthday to you!\nHappy Birthday to you!\nHappy Birthday dear Fred!\nHappy Birthday to you!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "sing": [ + "REF", + 2 + ], + "happy": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "happy()", + null + ], + "2": [ + "FUNCTION", + "sing(P)", + null + ] + }, + "line": 12, + "event": "return" + } + ] +} diff --git a/v3/example-code/happy.txt b/v3/example-code/happy.txt new file mode 100644 index 000000000..c2dd73280 --- /dev/null +++ b/v3/example-code/happy.txt @@ -0,0 +1,12 @@ +# From "Teaching with Python" by John Zelle +def happy(): + print("Happy Birthday to you!") + +def sing(P): + happy() + happy() + print("Happy Birthday dear " + P + "!") + happy() + +# main +sing("Fred") diff --git a/v3/example-code/ins_sort.golden b/v3/example-code/ins_sort.golden new file mode 100644 index 000000000..837933f43 --- /dev/null +++ b/v3/example-code/ins_sort.golden @@ -0,0 +1,3538 @@ +{ + "code": "# from: http://www.ece.uci.edu/~chou/py02/python.html\ndef InsertionSort(A):\n for j in range(1, len(A)):\n key = A[j]\n i = j - 1\n while (i >= 0) and (A[i] > key):\n A[i+1] = A[i]\n i = i - 1\n A[i+1] = key\n\ninput = [8, 3, 9, 15, 29, 7, 10]\nInsertionSort(input)\nprint(input)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "j": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": -1, + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": -1, + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": -1, + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": -1, + "j": 2, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": -1, + "j": 2, + "key": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 2, + "key": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 2, + "key": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 2, + "key": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 3, + "key": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 3, + "key": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 3, + "key": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 3, + "key": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 3, + "key": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 4, + "key": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 4, + "key": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 4, + "key": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 4, + "key": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 4, + "key": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 5, + "key": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 4, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 4, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 4, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 29, + 10 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 29, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 29, + 10 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 15, + 29, + 10 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 15, + 29, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 15, + 29, + 10 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 9, + 15, + 29, + 10 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 9, + 15, + 29, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 9, + 15, + 29, + 10 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 6, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 5, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 5, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 5, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 29 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 4, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 29 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 4, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 29 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 4, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 15, + 29 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 15, + 29 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 15, + 29 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 10, + 15, + 29 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "__return__": null, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i", + "__return__" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 10, + 15, + 29 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 10, + 15, + 29 + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "[3, 7, 8, 9, 10, 15, 29]\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 10, + 15, + 29 + ] + }, + "line": 13, + "event": "return" + } + ] +} diff --git a/v3/example-code/ins_sort.golden_py3 b/v3/example-code/ins_sort.golden_py3 new file mode 100644 index 000000000..837933f43 --- /dev/null +++ b/v3/example-code/ins_sort.golden_py3 @@ -0,0 +1,3538 @@ +{ + "code": "# from: http://www.ece.uci.edu/~chou/py02/python.html\ndef InsertionSort(A):\n for j in range(1, len(A)):\n key = A[j]\n i = j - 1\n while (i >= 0) and (A[i] > key):\n A[i+1] = A[i]\n i = i - 1\n A[i+1] = key\n\ninput = [8, 3, 9, 15, 29, 7, 10]\nInsertionSort(input)\nprint(input)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "j": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 3, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": -1, + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": -1, + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 8, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": -1, + "j": 1, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": -1, + "j": 2, + "key": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": -1, + "j": 2, + "key": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 2, + "key": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 2, + "key": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 2, + "key": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 3, + "key": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 3, + "key": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 3, + "key": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 3, + "key": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 3, + "key": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 4, + "key": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 4, + "key": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 4, + "key": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 4, + "key": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 4, + "key": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 5, + "key": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 4, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 4, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 7, + 10 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 4, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 29, + 10 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 29, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 29, + 29, + 10 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 15, + 29, + 10 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 15, + 29, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 15, + 15, + 29, + 10 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 2, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 9, + 15, + 29, + 10 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 9, + 15, + 29, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 9, + 9, + 15, + 29, + 10 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 1, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 8, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 5, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 6, + "key": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 0, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 5, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 5, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 10 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 5, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 29 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 4, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 29 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 4, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 29, + 29 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 4, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 15, + 29 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 15, + 29 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 15, + 15, + 29 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 10, + 15, + 29 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "InsertionSort", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "A": [ + "REF", + 2 + ], + "i": 3, + "__return__": null, + "j": 6, + "key": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "InsertionSort", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "InsertionSort_f1", + "ordered_varnames": [ + "A", + "j", + "key", + "i", + "__return__" + ] + } + ], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 10, + 15, + 29 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 10, + 15, + 29 + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "InsertionSort", + "input" + ], + "stdout": "[3, 7, 8, 9, 10, 15, 29]\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "input": [ + "REF", + 2 + ], + "InsertionSort": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "InsertionSort(A)", + null + ], + "2": [ + "LIST", + 3, + 7, + 8, + 9, + 10, + 15, + 29 + ] + }, + "line": 13, + "event": "return" + } + ] +} diff --git a/example-code/ins_sort.txt b/v3/example-code/ins_sort.txt similarity index 95% rename from example-code/ins_sort.txt rename to v3/example-code/ins_sort.txt index d6598fae2..4c2dacc0f 100644 --- a/example-code/ins_sort.txt +++ b/v3/example-code/ins_sort.txt @@ -10,4 +10,4 @@ def InsertionSort(A): input = [8, 3, 9, 15, 29, 7, 10] InsertionSort(input) -print input +print(input) diff --git a/v3/example-code/linked-lists/ll1.golden b/v3/example-code/linked-lists/ll1.golden new file mode 100644 index 000000000..1da0bbfb2 --- /dev/null +++ b/v3/example-code/linked-lists/ll1.golden @@ -0,0 +1,1977 @@ +{ + "code": "# use lists\nx = None\nfor i in range(6, 0, -1):\n x = [i, x]\n\n# use tuples\ny = None\nfor i in range(6, 0, -1):\n y = (i, y)\n\nx[1][0]=y[1][1] # courtesy of John DeNero!\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": null + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": null + }, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ], + "y": null + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": [ + "REF", + 6 + ], + "y": null + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 8 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 8 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 9 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 9 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 10 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 10 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 11 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ], + "11": [ + "TUPLE", + 2, + [ + "REF", + 10 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 11 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ], + "11": [ + "TUPLE", + 2, + [ + "REF", + 10 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 12 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ], + "11": [ + "TUPLE", + 2, + [ + "REF", + 10 + ] + ], + "12": [ + "TUPLE", + 1, + [ + "REF", + 11 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 12 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ], + "11": [ + "TUPLE", + 2, + [ + "REF", + 10 + ] + ], + "12": [ + "TUPLE", + 1, + [ + "REF", + 11 + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + [ + "REF", + 10 + ], + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ], + "11": [ + "TUPLE", + 2, + [ + "REF", + 10 + ] + ], + "12": [ + "TUPLE", + 1, + [ + "REF", + 11 + ] + ] + }, + "line": 11, + "event": "return" + } + ] +} diff --git a/v3/example-code/linked-lists/ll1.golden_py3 b/v3/example-code/linked-lists/ll1.golden_py3 new file mode 100644 index 000000000..1da0bbfb2 --- /dev/null +++ b/v3/example-code/linked-lists/ll1.golden_py3 @@ -0,0 +1,1977 @@ +{ + "code": "# use lists\nx = None\nfor i in range(6, 0, -1):\n x = [i, x]\n\n# use tuples\ny = None\nfor i in range(6, 0, -1):\n y = (i, y)\n\nx[1][0]=y[1][1] # courtesy of John DeNero!\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": null + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": null + }, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ], + "y": null + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": [ + "REF", + 6 + ], + "y": null + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 8 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 8 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 9 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 9 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 10 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 10 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 11 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ], + "11": [ + "TUPLE", + 2, + [ + "REF", + 10 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 11 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ], + "11": [ + "TUPLE", + 2, + [ + "REF", + 10 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 12 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ], + "11": [ + "TUPLE", + 2, + [ + "REF", + 10 + ] + ], + "12": [ + "TUPLE", + 1, + [ + "REF", + 11 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ], + "y": [ + "REF", + 12 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + 2, + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ], + "11": [ + "TUPLE", + 2, + [ + "REF", + 10 + ] + ], + "12": [ + "TUPLE", + 1, + [ + "REF", + 11 + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "LIST", + 6, + null + ], + "2": [ + "LIST", + 5, + [ + "REF", + 1 + ] + ], + "3": [ + "LIST", + 4, + [ + "REF", + 2 + ] + ], + "4": [ + "LIST", + 3, + [ + "REF", + 3 + ] + ], + "5": [ + "LIST", + [ + "REF", + 10 + ], + [ + "REF", + 4 + ] + ], + "6": [ + "LIST", + 1, + [ + "REF", + 5 + ] + ], + "7": [ + "TUPLE", + 6, + null + ], + "8": [ + "TUPLE", + 5, + [ + "REF", + 7 + ] + ], + "9": [ + "TUPLE", + 4, + [ + "REF", + 8 + ] + ], + "10": [ + "TUPLE", + 3, + [ + "REF", + 9 + ] + ], + "11": [ + "TUPLE", + 2, + [ + "REF", + 10 + ] + ], + "12": [ + "TUPLE", + 1, + [ + "REF", + 11 + ] + ] + }, + "line": 11, + "event": "return" + } + ] +} diff --git a/v3/example-code/linked-lists/ll1.txt b/v3/example-code/linked-lists/ll1.txt new file mode 100644 index 000000000..223f228be --- /dev/null +++ b/v3/example-code/linked-lists/ll1.txt @@ -0,0 +1,12 @@ +# use lists +x = None +for i in range(6, 0, -1): + x = [i, x] + +# use tuples +y = None +for i in range(6, 0, -1): + y = (i, y) + +x[1][0]=y[1][1] # courtesy of John DeNero! + diff --git a/v3/example-code/linked-lists/ll2.golden b/v3/example-code/linked-lists/ll2.golden new file mode 100644 index 000000000..6437333ed --- /dev/null +++ b/v3/example-code/linked-lists/ll2.golden @@ -0,0 +1,10032 @@ +{ + "code": "# use dicts\nx = None\nfor i in range(6, 0, -1):\n x = {'data': i, 'next': x}\n\n# use objects\nclass Node:\n def __init__(self, data, next):\n self.data = data\n self.next = next\n\ny = None\nfor i in range(6, 0, -1):\n y = Node(i, y)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": null + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": null + }, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "Node", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Node", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Node_f1", + "ordered_varnames": [] + } + ], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "Node", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Node", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Node_f1", + "ordered_varnames": [] + } + ], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "Node", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Node", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Node_f1", + "ordered_varnames": [] + } + ], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "Node", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Node", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": null, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 6, + "y": null, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 10 + ], + "data": 6, + "next": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 6, + "y": null, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node" + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 10 + ], + "data": 6, + "next": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 6, + "y": null, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 10 + ], + "data": 6, + "next": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 6, + "y": null, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 10 + ], + "data": 6, + "next": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "data", + "next", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 6, + "y": null, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 6, + "y": [ + "REF", + 10 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 5, + "y": [ + "REF", + 10 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 11 + ], + "data": 5, + "next": [ + "REF", + 10 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 5, + "y": [ + "REF", + 10 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node" + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 11 + ], + "data": 5, + "next": [ + "REF", + 10 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 5, + "y": [ + "REF", + 10 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 11 + ], + "data": 5, + "next": [ + "REF", + 10 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 5, + "y": [ + "REF", + 10 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 11 + ], + "data": 5, + "next": [ + "REF", + 10 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "data", + "next", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 5, + "y": [ + "REF", + 10 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 5, + "y": [ + "REF", + 11 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 4, + "y": [ + "REF", + 11 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "self": [ + "REF", + 12 + ], + "data": 4, + "next": [ + "REF", + 11 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 4, + "y": [ + "REF", + 11 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node" + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "self": [ + "REF", + 12 + ], + "data": 4, + "next": [ + "REF", + 11 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 4, + "y": [ + "REF", + 11 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "self": [ + "REF", + 12 + ], + "data": 4, + "next": [ + "REF", + 11 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 4, + "y": [ + "REF", + 11 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 12 + ], + "data": 4, + "next": [ + "REF", + 11 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "data", + "next", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 4, + "y": [ + "REF", + 11 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 4, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 3, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 13 + ], + "data": 3, + "next": [ + "REF", + 12 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f5", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 3, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node" + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 13 + ], + "data": 3, + "next": [ + "REF", + 12 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f5", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 3, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 13 + ], + "data": 3, + "next": [ + "REF", + 12 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f5", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 3, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 13 + ], + "data": 3, + "next": [ + "REF", + 12 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f5", + "ordered_varnames": [ + "self", + "data", + "next", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 3, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 3, + "y": [ + "REF", + 13 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 2, + "y": [ + "REF", + 13 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "self": [ + "REF", + 14 + ], + "data": 2, + "next": [ + "REF", + 13 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f6", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 2, + "y": [ + "REF", + 13 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node" + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "self": [ + "REF", + 14 + ], + "data": 2, + "next": [ + "REF", + 13 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f6", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 2, + "y": [ + "REF", + 13 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "self": [ + "REF", + 14 + ], + "data": 2, + "next": [ + "REF", + 13 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f6", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 2, + "y": [ + "REF", + 13 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 14 + ], + "data": 2, + "next": [ + "REF", + 13 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f6", + "ordered_varnames": [ + "self", + "data", + "next", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 2, + "y": [ + "REF", + 13 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 2, + "y": [ + "REF", + 14 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": [ + "REF", + 14 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "self": [ + "REF", + 15 + ], + "data": 1, + "next": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f7", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": [ + "REF", + 14 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ], + "15": [ + "INSTANCE", + "Node" + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "self": [ + "REF", + 15 + ], + "data": 1, + "next": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f7", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": [ + "REF", + 14 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ], + "15": [ + "INSTANCE", + "Node" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "self": [ + "REF", + 15 + ], + "data": 1, + "next": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f7", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": [ + "REF", + 14 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ], + "15": [ + "INSTANCE", + "Node", + [ + "data", + 1 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 15 + ], + "data": 1, + "next": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f7", + "ordered_varnames": [ + "self", + "data", + "next", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": [ + "REF", + 14 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ], + "15": [ + "INSTANCE", + "Node", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 14 + ] + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": [ + "REF", + 15 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ], + "15": [ + "INSTANCE", + "Node", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 14 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "y": [ + "REF", + 15 + ], + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ], + "15": [ + "INSTANCE", + "Node", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 14 + ] + ] + ] + }, + "line": 13, + "event": "return" + } + ] +} diff --git a/v3/example-code/linked-lists/ll2.golden_py3 b/v3/example-code/linked-lists/ll2.golden_py3 new file mode 100644 index 000000000..7a4d0bbe0 --- /dev/null +++ b/v3/example-code/linked-lists/ll2.golden_py3 @@ -0,0 +1,9885 @@ +{ + "code": "# use dicts\nx = None\nfor i in range(6, 0, -1):\n x = {'data': i, 'next': x}\n\n# use objects\nclass Node:\n def __init__(self, data, next):\n self.data = data\n self.next = next\n\ny = None\nfor i in range(6, 0, -1):\n y = Node(i, y)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": null + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": null + }, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "Node", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Node", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Node_f1", + "ordered_varnames": [] + } + ], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT" + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "Node", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Node", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Node_f1", + "ordered_varnames": [] + } + ], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "Node", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Node", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Node_f1", + "ordered_varnames": [] + } + ], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT" + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "Node", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Node", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": null, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 6, + "y": null, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 10 + ], + "data": 6, + "next": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 6, + "y": null, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node" + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 10 + ], + "data": 6, + "next": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 6, + "y": null, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 10 + ], + "data": 6, + "next": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 6, + "y": null, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 10 + ], + "data": 6, + "next": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "data", + "next", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 6, + "y": null, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 6, + "y": [ + "REF", + 10 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 5, + "y": [ + "REF", + 10 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 11 + ], + "data": 5, + "next": [ + "REF", + 10 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 5, + "y": [ + "REF", + 10 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node" + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 11 + ], + "data": 5, + "next": [ + "REF", + 10 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 5, + "y": [ + "REF", + 10 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 11 + ], + "data": 5, + "next": [ + "REF", + 10 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 5, + "y": [ + "REF", + 10 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 11 + ], + "data": 5, + "next": [ + "REF", + 10 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "data", + "next", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 5, + "y": [ + "REF", + 10 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 5, + "y": [ + "REF", + 11 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 4, + "y": [ + "REF", + 11 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "self": [ + "REF", + 12 + ], + "data": 4, + "next": [ + "REF", + 11 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 4, + "y": [ + "REF", + 11 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node" + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "self": [ + "REF", + 12 + ], + "data": 4, + "next": [ + "REF", + 11 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 4, + "y": [ + "REF", + 11 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "self": [ + "REF", + 12 + ], + "data": 4, + "next": [ + "REF", + 11 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 4, + "y": [ + "REF", + 11 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 12 + ], + "data": 4, + "next": [ + "REF", + 11 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "data", + "next", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 4, + "y": [ + "REF", + 11 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 4, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 3, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 13 + ], + "data": 3, + "next": [ + "REF", + 12 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f5", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 3, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node" + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 13 + ], + "data": 3, + "next": [ + "REF", + 12 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f5", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 3, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 13 + ], + "data": 3, + "next": [ + "REF", + 12 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f5", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 3, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 13 + ], + "data": 3, + "next": [ + "REF", + 12 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f5", + "ordered_varnames": [ + "self", + "data", + "next", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 3, + "y": [ + "REF", + 12 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 3, + "y": [ + "REF", + 13 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 2, + "y": [ + "REF", + 13 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "self": [ + "REF", + 14 + ], + "data": 2, + "next": [ + "REF", + 13 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f6", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 2, + "y": [ + "REF", + 13 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node" + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "self": [ + "REF", + 14 + ], + "data": 2, + "next": [ + "REF", + 13 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f6", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 2, + "y": [ + "REF", + 13 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "self": [ + "REF", + 14 + ], + "data": 2, + "next": [ + "REF", + 13 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f6", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 2, + "y": [ + "REF", + 13 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 14 + ], + "data": 2, + "next": [ + "REF", + 13 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f6", + "ordered_varnames": [ + "self", + "data", + "next", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 2, + "y": [ + "REF", + 13 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 2, + "y": [ + "REF", + 14 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": [ + "REF", + 14 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "self": [ + "REF", + 15 + ], + "data": 1, + "next": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f7", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": [ + "REF", + 14 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ], + "15": [ + "INSTANCE", + "Node" + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "self": [ + "REF", + 15 + ], + "data": 1, + "next": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f7", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": [ + "REF", + 14 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ], + "15": [ + "INSTANCE", + "Node" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "self": [ + "REF", + 15 + ], + "data": 1, + "next": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f7", + "ordered_varnames": [ + "self", + "data", + "next" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": [ + "REF", + 14 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ], + "15": [ + "INSTANCE", + "Node", + [ + "data", + 1 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 15 + ], + "data": 1, + "next": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f7", + "ordered_varnames": [ + "self", + "data", + "next", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": [ + "REF", + 14 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ], + "15": [ + "INSTANCE", + "Node", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 14 + ] + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "i": 1, + "y": [ + "REF", + 15 + ], + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ], + "15": [ + "INSTANCE", + "Node", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 14 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "Node", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "__init__": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Node", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Node_f1_p_z", + "ordered_varnames": [ + "__init__", + "__return__" + ] + } + ], + "globals": { + "Node": [ + "REF", + 9 + ], + "y": [ + "REF", + 15 + ], + "i": 1, + "x": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "2": [ + "DICT", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "DICT", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "DICT", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "DICT", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 4 + ] + ] + ], + "6": [ + "DICT", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 5 + ] + ] + ], + "7": [ + "DICT", + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "8": [ + "FUNCTION", + "__init__(self, data, next)", + 1 + ], + "9": [ + "CLASS", + "Node", + [], + [ + "__init__", + [ + "REF", + 8 + ] + ] + ], + "10": [ + "INSTANCE", + "Node", + [ + "data", + 6 + ], + [ + "next", + null + ] + ], + "11": [ + "INSTANCE", + "Node", + [ + "data", + 5 + ], + [ + "next", + [ + "REF", + 10 + ] + ] + ], + "12": [ + "INSTANCE", + "Node", + [ + "data", + 4 + ], + [ + "next", + [ + "REF", + 11 + ] + ] + ], + "13": [ + "INSTANCE", + "Node", + [ + "data", + 3 + ], + [ + "next", + [ + "REF", + 12 + ] + ] + ], + "14": [ + "INSTANCE", + "Node", + [ + "data", + 2 + ], + [ + "next", + [ + "REF", + 13 + ] + ] + ], + "15": [ + "INSTANCE", + "Node", + [ + "data", + 1 + ], + [ + "next", + [ + "REF", + 14 + ] + ] + ] + }, + "line": 13, + "event": "return" + } + ] +} diff --git a/v3/example-code/linked-lists/ll2.txt b/v3/example-code/linked-lists/ll2.txt new file mode 100644 index 000000000..3a1181499 --- /dev/null +++ b/v3/example-code/linked-lists/ll2.txt @@ -0,0 +1,15 @@ +# use dicts +x = None +for i in range(6, 0, -1): + x = {'data': i, 'next': x} + +# use objects +class Node: + def __init__(self, data, next): + self.data = data + self.next = next + +y = None +for i in range(6, 0, -1): + y = Node(i, y) + diff --git a/v3/example-code/list-comp.golden b/v3/example-code/list-comp.golden new file mode 100644 index 000000000..6a4ea270a --- /dev/null +++ b/v3/example-code/list-comp.golden @@ -0,0 +1,404 @@ +{ + "code": "ppl = ['Alice', 'Bob', 'Carol', 'Doug']\nexcited_ppl = [e + '!!' for e in ppl]\nppl_len = [len(x) for x in ppl]\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "e": "Alice", + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "e": "Bob", + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "e": "Carol", + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "e": "Doug", + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "e", + "excited_ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "e": "Doug", + "excited_ppl": [ + "REF", + 2 + ], + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "2": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "e", + "excited_ppl", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "e": "Doug", + "ppl": [ + "REF", + 1 + ], + "excited_ppl": [ + "REF", + 2 + ], + "x": "Alice" + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "2": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "e", + "excited_ppl", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "e": "Doug", + "ppl": [ + "REF", + 1 + ], + "excited_ppl": [ + "REF", + 2 + ], + "x": "Bob" + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "2": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "e", + "excited_ppl", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "e": "Doug", + "ppl": [ + "REF", + 1 + ], + "excited_ppl": [ + "REF", + 2 + ], + "x": "Carol" + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "2": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "e", + "excited_ppl", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "e": "Doug", + "ppl": [ + "REF", + 1 + ], + "excited_ppl": [ + "REF", + 2 + ], + "x": "Doug" + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "2": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "e", + "excited_ppl", + "x", + "ppl_len" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "excited_ppl": [ + "REF", + 2 + ], + "ppl_len": [ + "REF", + 3 + ], + "e": "Doug", + "x": "Doug", + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "2": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ], + "3": [ + "LIST", + 5, + 3, + 5, + 4 + ] + }, + "line": 3, + "event": "return" + } + ] +} diff --git a/v3/example-code/list-comp.golden_py3 b/v3/example-code/list-comp.golden_py3 new file mode 100644 index 000000000..5d999ccae --- /dev/null +++ b/v3/example-code/list-comp.golden_py3 @@ -0,0 +1,926 @@ +{ + "code": "ppl = ['Alice', 'Bob', 'Carol', 'Doug']\nexcited_ppl = [e + '!!' for e in ppl]\nppl_len = [len(x) for x in ppl]\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0" + ] + } + ], + "globals": { + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "2": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0" + ] + } + ], + "globals": { + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "2": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "e": "Alice" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "e" + ] + } + ], + "globals": { + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "2": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "e": "Bob" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "e" + ] + } + ], + "globals": { + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "2": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "e": "Carol" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "e" + ] + } + ], + "globals": { + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "2": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "e": "Doug" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "e" + ] + } + ], + "globals": { + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "2": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 2 + ], + "__return__": [ + "REF", + 3 + ], + "e": "Doug" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "e", + "__return__" + ] + } + ], + "globals": { + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "2": [ + "INSTANCE", + "list_iterator" + ], + "3": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "ppl", + "excited_ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "excited_ppl": [ + "REF", + 3 + ], + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "3": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "excited_ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + ".0": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + ".0" + ] + } + ], + "globals": { + "excited_ppl": [ + "REF", + 3 + ], + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "3": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ], + "4": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "ppl", + "excited_ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + ".0": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + ".0" + ] + } + ], + "globals": { + "excited_ppl": [ + "REF", + 3 + ], + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "3": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ], + "4": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "excited_ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + ".0": [ + "REF", + 4 + ], + "x": "Alice" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + ".0", + "x" + ] + } + ], + "globals": { + "excited_ppl": [ + "REF", + 3 + ], + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "3": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ], + "4": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "excited_ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + ".0": [ + "REF", + 4 + ], + "x": "Bob" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + ".0", + "x" + ] + } + ], + "globals": { + "excited_ppl": [ + "REF", + 3 + ], + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "3": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ], + "4": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "excited_ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + ".0": [ + "REF", + 4 + ], + "x": "Carol" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + ".0", + "x" + ] + } + ], + "globals": { + "excited_ppl": [ + "REF", + 3 + ], + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "3": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ], + "4": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "excited_ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + ".0": [ + "REF", + 4 + ], + "x": "Doug" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + ".0", + "x" + ] + } + ], + "globals": { + "excited_ppl": [ + "REF", + 3 + ], + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "3": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ], + "4": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "ppl", + "excited_ppl" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + ".0": [ + "REF", + 4 + ], + "x": "Doug", + "__return__": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + ".0", + "x", + "__return__" + ] + } + ], + "globals": { + "excited_ppl": [ + "REF", + 3 + ], + "ppl": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "3": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ], + "4": [ + "INSTANCE", + "list_iterator" + ], + "5": [ + "LIST", + 5, + 3, + 5, + 4 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "ppl", + "excited_ppl", + "ppl_len" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "ppl": [ + "REF", + 1 + ], + "excited_ppl": [ + "REF", + 3 + ], + "ppl_len": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "LIST", + "Alice", + "Bob", + "Carol", + "Doug" + ], + "3": [ + "LIST", + "Alice!!", + "Bob!!", + "Carol!!", + "Doug!!" + ], + "5": [ + "LIST", + 5, + 3, + 5, + 4 + ] + }, + "line": 3, + "event": "return" + } + ] +} diff --git a/v3/example-code/list-comp.txt b/v3/example-code/list-comp.txt new file mode 100644 index 000000000..b5a158904 --- /dev/null +++ b/v3/example-code/list-comp.txt @@ -0,0 +1,3 @@ +ppl = ['Alice', 'Bob', 'Carol', 'Doug'] +excited_ppl = [e + '!!' for e in ppl] +ppl_len = [len(x) for x in ppl] diff --git a/v3/example-code/map.golden b/v3/example-code/map.golden new file mode 100644 index 000000000..30214b328 --- /dev/null +++ b/v3/example-code/map.golden @@ -0,0 +1,6953 @@ +{ + "code": "# Functional programming with map\n# Adapted from MIT 6.01 course notes (Section A.2.3)\n# http://mit.edu/6.01/mercurial/spring10/www/handouts/readings.pdf\n\ndef map(func, lst):\n if lst == []:\n return []\n else:\n return [func(lst[0])] + map(func, lst[1:])\n \ndef halveElements(lst):\n return map(lambda x: x / 2.0, lst)\n \ninput = [2, 4, 6, 8, 10]\noutput = halveElements(input)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "map" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "map": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "halveElements", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ] + }, + "line": 11, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "halveElements", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 12, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 1.000, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": 2.000, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": 3.000, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ] + }, + "line": 12, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "__return__": 4.000, + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ] + }, + "line": 12, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": 5.000, + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "lst": [ + "REF", + 9 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f12", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ], + "9": [ + "LIST" + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "lst": [ + "REF", + 9 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f12", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ], + "9": [ + "LIST" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "lst": [ + "REF", + 9 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f12", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ], + "9": [ + "LIST" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "__return__": [ + "REF", + 10 + ], + "lst": [ + "REF", + 9 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f12", + "ordered_varnames": [ + "func", + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ], + "9": [ + "LIST" + ], + "10": [ + "LIST" + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": [ + "REF", + 11 + ], + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ], + "11": [ + "LIST", + 5.000 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": [ + "REF", + 12 + ], + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "12": [ + "LIST", + 4.000, + 5.000 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": [ + "REF", + 13 + ], + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "13": [ + "LIST", + 3.000, + 4.000, + 5.000 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": [ + "REF", + 14 + ], + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "14": [ + "LIST", + 2.000, + 3.000, + 4.000, + 5.000 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 15 + ], + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "15": [ + "LIST", + 1.000, + 2.000, + 3.000, + 4.000, + 5.000 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "halveElements", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 15 + ], + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "15": [ + "LIST", + 1.000, + 2.000, + 3.000, + 4.000, + 5.000 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input", + "output" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 15 + ], + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p_z", + "ordered_varnames": [ + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "output": [ + "REF", + 15 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "15": [ + "LIST", + 1.000, + 2.000, + 3.000, + 4.000, + 5.000 + ] + }, + "line": 15, + "event": "return" + } + ] +} diff --git a/v3/example-code/map.golden_py3 b/v3/example-code/map.golden_py3 new file mode 100644 index 000000000..30214b328 --- /dev/null +++ b/v3/example-code/map.golden_py3 @@ -0,0 +1,6953 @@ +{ + "code": "# Functional programming with map\n# Adapted from MIT 6.01 course notes (Section A.2.3)\n# http://mit.edu/6.01/mercurial/spring10/www/handouts/readings.pdf\n\ndef map(func, lst):\n if lst == []:\n return []\n else:\n return [func(lst[0])] + map(func, lst[1:])\n \ndef halveElements(lst):\n return map(lambda x: x / 2.0, lst)\n \ninput = [2, 4, 6, 8, 10]\noutput = halveElements(input)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "map" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "map": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "halveElements", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ] + }, + "line": 11, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "halveElements", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1", + "ordered_varnames": [ + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 12, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 1.000, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": 2.000, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": 3.000, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ] + }, + "line": 12, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "__return__": 4.000, + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ] + }, + "line": 12, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": 5.000, + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "lst": [ + "REF", + 9 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f12", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ], + "9": [ + "LIST" + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "lst": [ + "REF", + 9 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f12", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ], + "9": [ + "LIST" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "lst": [ + "REF", + 9 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f12", + "ordered_varnames": [ + "func", + "lst" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ], + "9": [ + "LIST" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "__return__": [ + "REF", + 10 + ], + "lst": [ + "REF", + 9 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f12", + "ordered_varnames": [ + "func", + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ], + "9": [ + "LIST" + ], + "10": [ + "LIST" + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": [ + "REF", + 11 + ], + "lst": [ + "REF", + 8 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "func", + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "8": [ + "LIST", + 10 + ], + "11": [ + "LIST", + 5.000 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": [ + "REF", + 12 + ], + "lst": [ + "REF", + 7 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "func", + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "7": [ + "LIST", + 8, + 10 + ], + "12": [ + "LIST", + 4.000, + 5.000 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": [ + "REF", + 13 + ], + "lst": [ + "REF", + 6 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "func", + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "6": [ + "LIST", + 6, + 8, + 10 + ], + "13": [ + "LIST", + 3.000, + 4.000, + 5.000 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": [ + "REF", + 14 + ], + "lst": [ + "REF", + 5 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "func", + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "5": [ + "LIST", + 4, + 6, + 8, + 10 + ], + "14": [ + "LIST", + 2.000, + 3.000, + 4.000, + 5.000 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 15 + ], + "lst": [ + "REF", + 3 + ], + "func": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "func", + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ], + "15": [ + "LIST", + 1.000, + 2.000, + 3.000, + 4.000, + 5.000 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input" + ], + "stdout": "", + "func_name": "halveElements", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 15 + ], + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p", + "ordered_varnames": [ + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "15": [ + "LIST", + 1.000, + 2.000, + 3.000, + 4.000, + 5.000 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "halveElements", + "input", + "output" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 15 + ], + "lst": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "halveElements", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "halveElements_f1_p_z", + "ordered_varnames": [ + "lst", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "halveElements": [ + "REF", + 2 + ], + "output": [ + "REF", + 15 + ], + "input": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(func, lst)", + null + ], + "2": [ + "FUNCTION", + "halveElements(lst)", + null + ], + "3": [ + "LIST", + 2, + 4, + 6, + 8, + 10 + ], + "15": [ + "LIST", + 1.000, + 2.000, + 3.000, + 4.000, + 5.000 + ] + }, + "line": 15, + "event": "return" + } + ] +} diff --git a/example-code/map.txt b/v3/example-code/map.txt similarity index 100% rename from example-code/map.txt rename to v3/example-code/map.txt diff --git a/v3/example-code/memo_fib.golden b/v3/example-code/memo_fib.golden new file mode 100644 index 000000000..abb03047a --- /dev/null +++ b/v3/example-code/memo_fib.golden @@ -0,0 +1,10715 @@ +{ + "code": "# use memoization to make the recursive Fibonacci\n# implementation only take O(n) time and space\n\nMemoTable = {}\n\ndef MemoizedFib(n):\n if n <= 2:\n return 1\n\n if n in MemoTable:\n return MemoTable[n]\n\n MemoTable[n] = MemoizedFib(n-1) + MemoizedFib(n-2)\n return MemoTable[n]\n\n\nres = MemoizedFib(10)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f9", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f9", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f9", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "__return__": 1, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f9", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f10", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f10", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f10", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": 1, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f10", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f11", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f11", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f11", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": 1, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f11", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": 3, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f12", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f12", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f12", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f12", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "__return__": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f12", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 5, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f13", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f13", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f13", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f13", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "__return__": 3, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f13", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": 8, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f14", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f14", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f14", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f14", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "__return__": 5, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f14", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 13, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f15", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f15", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f15", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f15", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "__return__": 8, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f15", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 21, + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f16", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f16", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f16", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f16", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "__return__": 13, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f16", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 34, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f17", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f17", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f17", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f17", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "__return__": 21, + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f17", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ], + [ + 10, + 55 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 55, + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ], + [ + 10, + 55 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib", + "res" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "res": 55, + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ], + [ + 10, + 55 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 17, + "event": "return" + } + ] +} diff --git a/v3/example-code/memo_fib.golden_py3 b/v3/example-code/memo_fib.golden_py3 new file mode 100644 index 000000000..abb03047a --- /dev/null +++ b/v3/example-code/memo_fib.golden_py3 @@ -0,0 +1,10715 @@ +{ + "code": "# use memoization to make the recursive Fibonacci\n# implementation only take O(n) time and space\n\nMemoTable = {}\n\ndef MemoizedFib(n):\n if n <= 2:\n return 1\n\n if n in MemoTable:\n return MemoTable[n]\n\n MemoTable[n] = MemoizedFib(n-1) + MemoizedFib(n-2)\n return MemoTable[n]\n\n\nres = MemoizedFib(10)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f9", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f9", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f9", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "__return__": 1, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f9", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f10", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f10", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f10", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": 1, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f10", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f8", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f11", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f11", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f11", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": 1, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f11", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": 3, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f7", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f12", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f12", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f12", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f12", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "__return__": 2, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f12", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 5, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f6", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f13", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f13", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f13", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f13", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "__return__": 3, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f13", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": 8, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f5", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f14", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f14", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f14", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f14", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "__return__": 5, + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f14", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 13, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f4", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f15", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f15", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f15", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f15", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "__return__": 8, + "n": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f15", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 21, + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f3", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f16", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f16", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f16", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f16", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "__return__": 13, + "n": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f16", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 34, + "n": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f2", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f17", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f17", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f17", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f17", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "__return__": 21, + "n": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f17", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ], + [ + 10, + 55 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib" + ], + "stdout": "", + "func_name": "MemoizedFib", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 55, + "n": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "MemoizedFib", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "MemoizedFib_f1", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ], + [ + 10, + 55 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "MemoTable", + "MemoizedFib", + "res" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "MemoizedFib": [ + "REF", + 2 + ], + "res": 55, + "MemoTable": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 13 + ], + [ + 8, + 21 + ], + [ + 9, + 34 + ], + [ + 10, + 55 + ] + ], + "2": [ + "FUNCTION", + "MemoizedFib(n)", + null + ] + }, + "line": 17, + "event": "return" + } + ] +} diff --git a/example-code/memo_fib.txt b/v3/example-code/memo_fib.txt similarity index 100% rename from example-code/memo_fib.txt rename to v3/example-code/memo_fib.txt diff --git a/v3/example-code/nonlocal.golden b/v3/example-code/nonlocal.golden new file mode 100644 index 000000000..7f7631792 --- /dev/null +++ b/v3/example-code/nonlocal.golden @@ -0,0 +1,11 @@ +{ + "code": "# 'nonlocal' keyword is only in Python 3\ndef outer():\n x = 1\n def inner():\n nonlocal x\n x = 2\n y = x\n print(\"inner:\", x, y)\n inner()\n print(\"outer:\", x)\n\nouter()\n", + "trace": [ + { + "exception_msg": "SyntaxError: invalid syntax (, line 5)", + "line": 5, + "event": "uncaught_exception", + "offset": 18 + } + ] +} diff --git a/v3/example-code/nonlocal.golden_py3 b/v3/example-code/nonlocal.golden_py3 new file mode 100644 index 000000000..e865e76cc --- /dev/null +++ b/v3/example-code/nonlocal.golden_py3 @@ -0,0 +1,667 @@ +{ + "code": "# 'nonlocal' keyword is only in Python 3\ndef outer():\n x = 1\n def inner():\n nonlocal x\n x = 2\n y = x\n print(\"inner:\", x, y)\n inner()\n print(\"outer:\", x)\n\nouter()\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "outer" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "outer": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "outer()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "outer" + ], + "stdout": "", + "func_name": "outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "outer_f1", + "ordered_varnames": [] + } + ], + "globals": { + "outer": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "outer()", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "outer" + ], + "stdout": "", + "func_name": "outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "outer_f1", + "ordered_varnames": [] + } + ], + "globals": { + "outer": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "outer()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "outer" + ], + "stdout": "", + "func_name": "outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "outer_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "outer": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "outer()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "outer" + ], + "stdout": "", + "func_name": "outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1, + "inner": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "outer_f1_p", + "ordered_varnames": [ + "inner", + "x" + ] + } + ], + "globals": { + "outer": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "outer()", + null + ], + "2": [ + "FUNCTION", + "inner()", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "outer" + ], + "stdout": "", + "func_name": "inner", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1, + "inner": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "outer_f1_p", + "ordered_varnames": [ + "inner", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "inner", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "inner_f2", + "ordered_varnames": [] + } + ], + "globals": { + "outer": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "outer()", + null + ], + "2": [ + "FUNCTION", + "inner()", + 1 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "outer" + ], + "stdout": "", + "func_name": "inner", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1, + "inner": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "outer_f1_p", + "ordered_varnames": [ + "inner", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "inner", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "inner_f2", + "ordered_varnames": [] + } + ], + "globals": { + "outer": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "outer()", + null + ], + "2": [ + "FUNCTION", + "inner()", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "outer" + ], + "stdout": "", + "func_name": "inner", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "inner": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "outer_f1_p", + "ordered_varnames": [ + "inner", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "inner", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "inner_f2", + "ordered_varnames": [] + } + ], + "globals": { + "outer": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "outer()", + null + ], + "2": [ + "FUNCTION", + "inner()", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "outer" + ], + "stdout": "", + "func_name": "inner", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "inner": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "outer_f1_p", + "ordered_varnames": [ + "inner", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "inner", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "inner_f2", + "ordered_varnames": [ + "y" + ] + } + ], + "globals": { + "outer": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "outer()", + null + ], + "2": [ + "FUNCTION", + "inner()", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "outer" + ], + "stdout": "inner: 2 2\n", + "func_name": "inner", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "inner": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "outer_f1_p", + "ordered_varnames": [ + "inner", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "inner", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "inner_f2", + "ordered_varnames": [ + "y", + "__return__" + ] + } + ], + "globals": { + "outer": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "outer()", + null + ], + "2": [ + "FUNCTION", + "inner()", + 1 + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "outer" + ], + "stdout": "inner: 2 2\n", + "func_name": "outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "inner": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "outer_f1_p", + "ordered_varnames": [ + "inner", + "x" + ] + } + ], + "globals": { + "outer": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "outer()", + null + ], + "2": [ + "FUNCTION", + "inner()", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "outer" + ], + "stdout": "inner: 2 2\nouter: 2\n", + "func_name": "outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "x": 2, + "inner": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "outer_f1_p", + "ordered_varnames": [ + "inner", + "x", + "__return__" + ] + } + ], + "globals": { + "outer": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "outer()", + null + ], + "2": [ + "FUNCTION", + "inner()", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "outer" + ], + "stdout": "inner: 2 2\nouter: 2\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "x": 2, + "inner": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "outer", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "outer_f1_p_z", + "ordered_varnames": [ + "inner", + "x", + "__return__" + ] + } + ], + "globals": { + "outer": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "outer()", + null + ], + "2": [ + "FUNCTION", + "inner()", + 1 + ] + }, + "line": 12, + "event": "return" + } + ] +} diff --git a/v3/example-code/nonlocal.txt b/v3/example-code/nonlocal.txt new file mode 100644 index 000000000..4bd156762 --- /dev/null +++ b/v3/example-code/nonlocal.txt @@ -0,0 +1,12 @@ +# 'nonlocal' keyword is only in Python 3 +def outer(): + x = 1 + def inner(): + nonlocal x + x = 2 + y = x + print("inner:", x, y) + inner() + print("outer:", x) + +outer() diff --git a/v3/example-code/oop_1.golden b/v3/example-code/oop_1.golden new file mode 100644 index 000000000..00c24716a --- /dev/null +++ b/v3/example-code/oop_1.golden @@ -0,0 +1,2448 @@ +{ + "code": "# Object-oriented programming intro\n# Adapted from MIT 6.01 course notes (Section 3.5)\n# http://mit.edu/6.01/mercurial/spring10/www/handouts/readings.pdf\n\nclass Staff601:\n course = '6.01'\n building = 34\n room = 501\n\n def salutation(self):\n return self.role + ' ' + self.name\n\npat = Staff601()\nprint(pat.course)\n\npat.name = 'Pat'\npat.age = 60\npat.role = 'Professor'\n\nprint(pat.building)\npat.building = 32\nprint(pat.building)\n\nprint(pat.salutation())\nprint(Staff601.salutation(pat))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "course" + ] + } + ], + "globals": {}, + "heap": {}, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course" + ] + } + ], + "globals": {}, + "heap": {}, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "room": 501 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course", + "room" + ] + } + ], + "globals": {}, + "heap": {}, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601" + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601" + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "name", + "Pat" + ] + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ] + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 20, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 21, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 24, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f2", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f2", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": "Professor Pat", + "self": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f2", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\nProfessor Pat\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 25, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\nProfessor Pat\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\nProfessor Pat\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\nProfessor Pat\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": "Professor Pat", + "self": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f3", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\nProfessor Pat\nProfessor Pat\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "salutation": [ + "REF", + 1 + ], + "room": 501, + "__return__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 25, + "event": "return" + } + ] +} diff --git a/v3/example-code/oop_1.golden_py3 b/v3/example-code/oop_1.golden_py3 new file mode 100644 index 000000000..fbed56886 --- /dev/null +++ b/v3/example-code/oop_1.golden_py3 @@ -0,0 +1,2428 @@ +{ + "code": "# Object-oriented programming intro\n# Adapted from MIT 6.01 course notes (Section 3.5)\n# http://mit.edu/6.01/mercurial/spring10/www/handouts/readings.pdf\n\nclass Staff601:\n course = '6.01'\n building = 34\n room = 501\n\n def salutation(self):\n return self.role + ' ' + self.name\n\npat = Staff601()\nprint(pat.course)\n\npat.name = 'Pat'\npat.age = 60\npat.role = 'Professor'\n\nprint(pat.building)\npat.building = 32\nprint(pat.building)\n\nprint(pat.salutation())\nprint(Staff601.salutation(pat))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "course" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "course", + "6.01" + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "course", + "6.01" + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "room": 501 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course", + "room" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601" + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601" + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "name", + "Pat" + ] + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ] + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 20, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 21, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 24, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f2", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f2", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": "Professor Pat", + "self": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f2", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\nProfessor Pat\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 25, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\nProfessor Pat\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\nProfessor Pat\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\nProfessor Pat\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": "Professor Pat", + "self": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f3", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\nProfessor Pat\nProfessor Pat\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "4": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 25, + "event": "return" + } + ] +} diff --git a/example-code/oop_1.txt b/v3/example-code/oop_1.txt similarity index 77% rename from example-code/oop_1.txt rename to v3/example-code/oop_1.txt index f072f69f2..d04790552 100644 --- a/example-code/oop_1.txt +++ b/v3/example-code/oop_1.txt @@ -11,15 +11,15 @@ class Staff601: return self.role + ' ' + self.name pat = Staff601() -print pat.course +print(pat.course) pat.name = 'Pat' pat.age = 60 pat.role = 'Professor' -print pat.building +print(pat.building) pat.building = 32 -print pat.building +print(pat.building) -print pat.salutation() -print Staff601.salutation(pat) +print(pat.salutation()) +print(Staff601.salutation(pat)) diff --git a/v3/example-code/oop_2.golden b/v3/example-code/oop_2.golden new file mode 100644 index 000000000..d7b8d5918 --- /dev/null +++ b/v3/example-code/oop_2.golden @@ -0,0 +1,2236 @@ +{ + "code": "# The __init__ 'constructor' - object-oriented programming intro\n# Adapted from MIT 6.01 course notes (Section 3.5)\n# http://mit.edu/6.01/mercurial/spring10/www/handouts/readings.pdf\n\nclass Staff601:\n course = '6.01'\n building = 34\n room = 501\n\n def __init__(self, name, role, years, salary):\n self.name = name\n self.role = role\n self.age = years\n self.salary = salary\n\n def salutation(self):\n return self.role + ' ' + self.name\n\npat = Staff601('Pat', 'Professor', 60, 100000)\nprint(pat.salutation())\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "course" + ] + } + ], + "globals": {}, + "heap": {}, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course" + ] + } + ], + "globals": {}, + "heap": {}, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "room": 501 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course", + "room" + ] + } + ], + "globals": {}, + "heap": {}, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "room": 501, + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 3 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 3 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 3 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "self": [ + "REF", + 5 + ], + "role": "Professor", + "name": "Pat", + "years": 60 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "name", + "role", + "years", + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601" + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 3 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "self": [ + "REF", + 5 + ], + "role": "Professor", + "name": "Pat", + "years": 60 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "name", + "role", + "years", + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601" + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 3 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "self": [ + "REF", + 5 + ], + "role": "Professor", + "name": "Pat", + "years": 60 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "name", + "role", + "years", + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "name", + "Pat" + ] + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 3 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "self": [ + "REF", + 5 + ], + "role": "Professor", + "name": "Pat", + "years": 60 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "name", + "role", + "years", + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 3 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "self": [ + "REF", + 5 + ], + "role": "Professor", + "name": "Pat", + "years": 60 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "name", + "role", + "years", + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 3 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "name": "Pat", + "self": [ + "REF", + 5 + ], + "years": 60, + "role": "Professor", + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "name", + "role", + "years", + "salary", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ], + [ + "salary", + 100000 + ] + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 3 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ], + "pat": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ], + [ + "salary", + 100000 + ] + ] + }, + "line": 20, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 3 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ], + "pat": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ], + [ + "salary", + 100000 + ] + ] + }, + "line": 16, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 3 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ], + "pat": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ], + [ + "salary", + 100000 + ] + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 3 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": "Professor Pat", + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f3", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ], + "pat": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ], + [ + "salary", + 100000 + ] + ] + }, + "line": 17, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "Professor Pat\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 3 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 2 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ], + "pat": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "2": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "3": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 2 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 2 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ], + [ + "salary", + 100000 + ] + ] + }, + "line": 20, + "event": "return" + } + ] +} diff --git a/v3/example-code/oop_2.golden_py3 b/v3/example-code/oop_2.golden_py3 new file mode 100644 index 000000000..5a289ce75 --- /dev/null +++ b/v3/example-code/oop_2.golden_py3 @@ -0,0 +1,2258 @@ +{ + "code": "# The __init__ 'constructor' - object-oriented programming intro\n# Adapted from MIT 6.01 course notes (Section 3.5)\n# http://mit.edu/6.01/mercurial/spring10/www/handouts/readings.pdf\n\nclass Staff601:\n course = '6.01'\n building = 34\n room = 501\n\n def __init__(self, name, role, years, salary):\n self.name = name\n self.role = role\n self.age = years\n self.salary = salary\n\n def salutation(self):\n return self.role + ' ' + self.name\n\npat = Staff601('Pat', 'Professor', 60, 100000)\nprint(pat.salutation())\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "course" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "course", + "6.01" + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "course", + "6.01" + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "room": 501 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course", + "room" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "room": 501, + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "3": [ + "FUNCTION", + "salutation(self)", + 1 + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "3": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 3 + ] + ] + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "self": [ + "REF", + 5 + ], + "role": "Professor", + "name": "Pat", + "years": 60 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "name", + "role", + "years", + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "3": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601" + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "self": [ + "REF", + 5 + ], + "role": "Professor", + "name": "Pat", + "years": 60 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "name", + "role", + "years", + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "3": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601" + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "self": [ + "REF", + 5 + ], + "role": "Professor", + "name": "Pat", + "years": 60 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "name", + "role", + "years", + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "3": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "name", + "Pat" + ] + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "self": [ + "REF", + 5 + ], + "role": "Professor", + "name": "Pat", + "years": 60 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "name", + "role", + "years", + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "3": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "self": [ + "REF", + 5 + ], + "role": "Professor", + "name": "Pat", + "years": 60 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "name", + "role", + "years", + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "3": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "name": "Pat", + "self": [ + "REF", + 5 + ], + "years": 60, + "role": "Professor", + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "name", + "role", + "years", + "salary", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "3": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ], + [ + "salary", + 100000 + ] + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ], + "pat": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "3": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ], + [ + "salary", + 100000 + ] + ] + }, + "line": 20, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ], + "pat": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "3": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ], + [ + "salary", + 100000 + ] + ] + }, + "line": 16, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ], + "pat": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "3": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ], + [ + "salary", + 100000 + ] + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": "Professor Pat", + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "salutation_f3", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ], + "pat": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "3": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ], + [ + "salary", + 100000 + ] + ] + }, + "line": 17, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "Professor Pat\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "__return__": [ + "REF", + 1 + ], + "room": 501, + "course": "6.01", + "salutation": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "__init__", + "building", + "course", + "room", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 4 + ], + "pat": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "salutation", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, name, role, years, salary)", + 1 + ], + "3": [ + "FUNCTION", + "salutation(self)", + 1 + ], + "4": [ + "CLASS", + "Staff601", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ], + [ + "salutation", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ], + [ + "salary", + 100000 + ] + ] + }, + "line": 20, + "event": "return" + } + ] +} diff --git a/example-code/oop_2.txt b/v3/example-code/oop_2.txt similarity index 95% rename from example-code/oop_2.txt rename to v3/example-code/oop_2.txt index c4f0a534d..014c82790 100644 --- a/example-code/oop_2.txt +++ b/v3/example-code/oop_2.txt @@ -17,5 +17,5 @@ class Staff601: return self.role + ' ' + self.name pat = Staff601('Pat', 'Professor', 60, 100000) -print pat.salutation() +print(pat.salutation()) diff --git a/v3/example-code/oop_inherit.golden b/v3/example-code/oop_inherit.golden new file mode 100644 index 000000000..02a79ebed --- /dev/null +++ b/v3/example-code/oop_inherit.golden @@ -0,0 +1,3181 @@ +{ + "code": "# Inheritance - object-oriented programming intro\n# Adapted from MIT 6.01 course notes (Section 3.5)\n# http://mit.edu/6.01/mercurial/spring10/www/handouts/readings.pdf\n\nclass Staff601:\n course = '6.01'\n building = 34\n room = 501\n\n def giveRaise(self, percentage):\n self.salary = self.salary + self.salary * percentage\n\nclass Prof601(Staff601):\n salary = 100000\n\n def __init__(self, name, age):\n self.name = name\n self.giveRaise((age - 18) * 0.03)\n\n def salutation(self):\n return self.role + ' ' + self.name\n\npat = Prof601('Pat', 60)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "course" + ] + } + ], + "globals": {}, + "heap": {}, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course" + ] + } + ], + "globals": {}, + "heap": {}, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "room": 501 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course", + "room" + ] + } + ], + "globals": {}, + "heap": {}, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "Prof601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Prof601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2", + "ordered_varnames": [] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "Prof601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Prof601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2", + "ordered_varnames": [] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "Prof601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Prof601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2", + "ordered_varnames": [] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "Prof601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Prof601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2", + "ordered_varnames": [ + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "Prof601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "__init__": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p", + "ordered_varnames": [ + "__init__", + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ] + }, + "line": 20, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "Prof601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "salutation": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 6 + ], + "__init__": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "5": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "6": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__init__", + [ + "REF", + 4 + ] + ] + ] + }, + "line": 20, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "__return__": [ + "REF", + 6 + ], + "salutation": [ + "REF", + 5 + ], + "__init__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "5": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "6": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 4 + ] + ] + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 4 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ] + }, + "line": 23, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "__return__": [ + "REF", + 6 + ], + "salutation": [ + "REF", + 5 + ], + "__init__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "5": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "6": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 4 + ] + ] + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 4 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601" + ] + }, + "line": 16, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "__return__": [ + "REF", + 6 + ], + "salutation": [ + "REF", + 5 + ], + "__init__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "5": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "6": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 4 + ] + ] + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 4 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601" + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "__return__": [ + "REF", + 6 + ], + "salutation": [ + "REF", + 5 + ], + "__init__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "5": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "6": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 4 + ] + ] + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 4 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601", + [ + "name", + "Pat" + ] + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "giveRaise", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "__return__": [ + "REF", + 6 + ], + "salutation": [ + "REF", + 5 + ], + "__init__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "percentage": 1.260, + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "giveRaise", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "giveRaise_f4", + "ordered_varnames": [ + "self", + "percentage" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "5": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "6": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 4 + ] + ] + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 4 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601", + [ + "name", + "Pat" + ] + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "giveRaise", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "__return__": [ + "REF", + 6 + ], + "salutation": [ + "REF", + 5 + ], + "__init__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "percentage": 1.260, + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "giveRaise", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "giveRaise_f4", + "ordered_varnames": [ + "self", + "percentage" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "5": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "6": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 4 + ] + ] + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 4 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601", + [ + "name", + "Pat" + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "giveRaise", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "__return__": [ + "REF", + 6 + ], + "salutation": [ + "REF", + 5 + ], + "__init__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": null, + "percentage": 1.260, + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "giveRaise", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "giveRaise_f4", + "ordered_varnames": [ + "self", + "percentage", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "5": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "6": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 4 + ] + ] + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 4 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601", + [ + "name", + "Pat" + ], + [ + "salary", + 226000.000 + ] + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "__return__": [ + "REF", + 6 + ], + "salutation": [ + "REF", + 5 + ], + "__init__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": null, + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "5": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "6": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 4 + ] + ] + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 4 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601", + [ + "name", + "Pat" + ], + [ + "salary", + 226000.000 + ] + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601", + "pat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 2 + ], + "giveRaise": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "__return__": [ + "REF", + 6 + ], + "salutation": [ + "REF", + 5 + ], + "__init__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 8 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "2": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ], + [ + "__doc__", + null + ] + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 1 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "5": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "6": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ], + [ + "__init__", + [ + "REF", + 4 + ] + ] + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 4 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601", + [ + "name", + "Pat" + ], + [ + "salary", + 226000.000 + ] + ] + }, + "line": 23, + "event": "return" + } + ] +} diff --git a/v3/example-code/oop_inherit.golden_py3 b/v3/example-code/oop_inherit.golden_py3 new file mode 100644 index 000000000..c5aa17dc7 --- /dev/null +++ b/v3/example-code/oop_inherit.golden_py3 @@ -0,0 +1,3159 @@ +{ + "code": "# Inheritance - object-oriented programming intro\n# Adapted from MIT 6.01 course notes (Section 3.5)\n# http://mit.edu/6.01/mercurial/spring10/www/handouts/readings.pdf\n\nclass Staff601:\n course = '6.01'\n building = 34\n room = 501\n\n def giveRaise(self, percentage):\n self.salary = self.salary + self.salary * percentage\n\nclass Prof601(Staff601):\n salary = 100000\n\n def __init__(self, name, age):\n self.name = name\n self.giveRaise((age - 18) * 0.03)\n\n def salutation(self):\n return self.role + ' ' + self.name\n\npat = Prof601('Pat', 60)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "course" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "course", + "6.01" + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "course", + "6.01" + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "room": 501 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course", + "room" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "Prof601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Prof601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2", + "ordered_varnames": [] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT" + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "Prof601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Prof601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2", + "ordered_varnames": [] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT" + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "Prof601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Prof601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2", + "ordered_varnames": [] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT" + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "Prof601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Prof601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2", + "ordered_varnames": [ + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT", + [ + "salary", + 100000 + ] + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "Prof601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "__init__": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p", + "ordered_varnames": [ + "__init__", + "salary" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "__init__", + [ + "REF", + 5 + ] + ] + ], + "5": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ] + }, + "line": 20, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "Prof601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "salutation": [ + "REF", + 6 + ], + "__init__": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ], + [ + "__init__", + [ + "REF", + 5 + ] + ] + ], + "5": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "6": [ + "FUNCTION", + "salutation(self)", + 2 + ] + }, + "line": 20, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "salutation": [ + "REF", + 6 + ], + "__init__": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ], + [ + "__init__", + [ + "REF", + 5 + ] + ] + ], + "5": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "6": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 5 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ] + }, + "line": 23, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "salutation": [ + "REF", + 6 + ], + "__init__": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ], + [ + "__init__", + [ + "REF", + 5 + ] + ] + ], + "5": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "6": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 5 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601" + ] + }, + "line": 16, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "salutation": [ + "REF", + 6 + ], + "__init__": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ], + [ + "__init__", + [ + "REF", + 5 + ] + ] + ], + "5": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "6": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 5 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601" + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "salutation": [ + "REF", + 6 + ], + "__init__": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ], + [ + "__init__", + [ + "REF", + 5 + ] + ] + ], + "5": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "6": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 5 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601", + [ + "name", + "Pat" + ] + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "giveRaise", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "salutation": [ + "REF", + 6 + ], + "__init__": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "percentage": 1.260, + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "giveRaise", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "giveRaise_f4", + "ordered_varnames": [ + "self", + "percentage" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ], + [ + "__init__", + [ + "REF", + 5 + ] + ] + ], + "5": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "6": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 5 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601", + [ + "name", + "Pat" + ] + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "giveRaise", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "salutation": [ + "REF", + 6 + ], + "__init__": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "percentage": 1.260, + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "giveRaise", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "giveRaise_f4", + "ordered_varnames": [ + "self", + "percentage" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ], + [ + "__init__", + [ + "REF", + 5 + ] + ] + ], + "5": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "6": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 5 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601", + [ + "name", + "Pat" + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "giveRaise", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "salutation": [ + "REF", + 6 + ], + "__init__": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": null, + "percentage": 1.260, + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "giveRaise", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "giveRaise_f4", + "ordered_varnames": [ + "self", + "percentage", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ], + [ + "__init__", + [ + "REF", + 5 + ] + ] + ], + "5": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "6": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 5 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601", + [ + "name", + "Pat" + ], + [ + "salary", + 226000.000 + ] + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "salutation": [ + "REF", + 6 + ], + "__init__": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": null, + "age": 60, + "name": "Pat", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "__init___f3", + "ordered_varnames": [ + "self", + "name", + "age", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ], + [ + "__init__", + [ + "REF", + 5 + ] + ] + ], + "5": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "6": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 5 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601", + [ + "name", + "Pat" + ], + [ + "salary", + 226000.000 + ] + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601", + "Prof601", + "pat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "giveRaise": [ + "REF", + 2 + ], + "room": 501, + "course": "6.01", + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Staff601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1_p_z", + "ordered_varnames": [ + "building", + "course", + "giveRaise", + "room", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "salary": 100000, + "salutation": [ + "REF", + 6 + ], + "__init__": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Prof601", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Prof601_f2_p_z", + "ordered_varnames": [ + "__init__", + "salary", + "salutation", + "__return__" + ] + } + ], + "globals": { + "Staff601": [ + "REF", + 3 + ], + "pat": [ + "REF", + 8 + ], + "Prof601": [ + "REF", + 7 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ], + "2": [ + "FUNCTION", + "giveRaise(self, percentage)", + 1 + ], + "3": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "giveRaise", + [ + "REF", + 2 + ] + ], + [ + "room", + 501 + ] + ], + "4": [ + "DICT", + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ], + [ + "__init__", + [ + "REF", + 5 + ] + ] + ], + "5": [ + "FUNCTION", + "__init__(self, name, age)", + 2 + ], + "6": [ + "FUNCTION", + "salutation(self)", + 2 + ], + "7": [ + "CLASS", + "Prof601", + [ + "Staff601" + ], + [ + "__init__", + [ + "REF", + 5 + ] + ], + [ + "salary", + 100000 + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "Prof601", + [ + "name", + "Pat" + ], + [ + "salary", + 226000.000 + ] + ] + }, + "line": 23, + "event": "return" + } + ] +} diff --git a/example-code/oop_inherit.txt b/v3/example-code/oop_inherit.txt similarity index 100% rename from example-code/oop_inherit.txt rename to v3/example-code/oop_inherit.txt diff --git a/v3/example-code/oop_small.golden b/v3/example-code/oop_small.golden new file mode 100644 index 000000000..44bf5c717 --- /dev/null +++ b/v3/example-code/oop_small.golden @@ -0,0 +1,2093 @@ +{ + "code": "class A:\n x = 1\n y = 'hello'\n\nclass B:\n z = 'bye'\n\nclass C(A,B):\n def salutation(self):\n return '%d %s %s' % (self.x, self.y, self.z)\n\ninst = C()\nprint(inst.salutation())\ninst.x = 100\nprint(inst.salutation())\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": "hello", + "x": 1, + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [ + "x", + "y", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "y", + "hello" + ], + [ + "x", + 1 + ] + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "A": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "B", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "B", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "B_f2", + "ordered_varnames": [] + } + ], + "globals": { + "A": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "B", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "B", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "B_f2", + "ordered_varnames": [] + } + ], + "globals": { + "A": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "B", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "B", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "B_f2", + "ordered_varnames": [] + } + ], + "globals": { + "A": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "B", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "z": "bye" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "B", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "B_f2", + "ordered_varnames": [ + "z", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "3": [ + "DICT", + [ + "z", + "bye" + ] + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "A", + "B" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "A": [ + "REF", + 2 + ], + "B": [ + "REF", + 4 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B" + ], + "stdout": "", + "func_name": "C", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "C", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "C_f3", + "ordered_varnames": [] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "B": [ + "REF", + 4 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "A", + "B" + ], + "stdout": "", + "func_name": "C", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "C", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "C_f3", + "ordered_varnames": [] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "B": [ + "REF", + 4 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B" + ], + "stdout": "", + "func_name": "C", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "C", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "C_f3", + "ordered_varnames": [] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "B": [ + "REF", + 4 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B" + ], + "stdout": "", + "func_name": "C", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "C", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p", + "ordered_varnames": [ + "salutation", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "B": [ + "REF", + 4 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "6": [ + "DICT", + [ + "salutation", + [ + "REF", + 5 + ] + ] + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "A", + "B", + "C" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "6": [ + "DICT", + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ] + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "6": [ + "DICT", + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ] + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "C" + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 3 + ], + "unique_hash": "salutation_f4", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "6": [ + "DICT", + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ] + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "C" + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 3 + ], + "unique_hash": "salutation_f4", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "6": [ + "DICT", + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ] + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "C" + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": "1 hello bye", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 3 + ], + "unique_hash": "salutation_f4", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "6": [ + "DICT", + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ] + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "C" + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "1 hello bye\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "6": [ + "DICT", + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ] + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "C" + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "1 hello bye\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "6": [ + "DICT", + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ] + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "C", + [ + "x", + 100 + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "1 hello bye\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 3 + ], + "unique_hash": "salutation_f5", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "6": [ + "DICT", + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ] + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "C", + [ + "x", + 100 + ] + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "1 hello bye\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 3 + ], + "unique_hash": "salutation_f5", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "6": [ + "DICT", + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ] + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "C", + [ + "x", + 100 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "1 hello bye\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": "100 hello bye", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 3 + ], + "unique_hash": "salutation_f5", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "6": [ + "DICT", + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ] + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "C", + [ + "x", + 100 + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "1 hello bye\n100 hello bye\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "6": [ + "DICT", + [ + "salutation", + [ + "REF", + 5 + ] + ], + [ + "__doc__", + null + ] + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 5 + ] + ] + ], + "8": [ + "INSTANCE", + "C", + [ + "x", + 100 + ] + ] + }, + "line": 15, + "event": "return" + } + ] +} diff --git a/v3/example-code/oop_small.golden_py3 b/v3/example-code/oop_small.golden_py3 new file mode 100644 index 000000000..53667117e --- /dev/null +++ b/v3/example-code/oop_small.golden_py3 @@ -0,0 +1,2087 @@ +{ + "code": "class A:\n x = 1\n y = 'hello'\n\nclass B:\n z = 'bye'\n\nclass C(A,B):\n def salutation(self):\n return '%d %s %s' % (self.x, self.y, self.z)\n\ninst = C()\nprint(inst.salutation())\ninst.x = 100\nprint(inst.salutation())\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "x", + 1 + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": "hello", + "x": 1, + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [ + "x", + "y", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "y", + "hello" + ], + [ + "x", + 1 + ] + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "A": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "B", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "B", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "B_f2", + "ordered_varnames": [] + } + ], + "globals": { + "A": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "3": [ + "DICT" + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "B", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "B", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "B_f2", + "ordered_varnames": [] + } + ], + "globals": { + "A": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "3": [ + "DICT" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "B", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "B", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "B_f2", + "ordered_varnames": [] + } + ], + "globals": { + "A": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "3": [ + "DICT" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "B", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "z": "bye" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "B", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "B_f2", + "ordered_varnames": [ + "z", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "3": [ + "DICT", + [ + "z", + "bye" + ] + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "A", + "B" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "A": [ + "REF", + 2 + ], + "B": [ + "REF", + 4 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B" + ], + "stdout": "", + "func_name": "C", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "C", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "C_f3", + "ordered_varnames": [] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "B": [ + "REF", + 4 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT" + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "A", + "B" + ], + "stdout": "", + "func_name": "C", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "C", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "C_f3", + "ordered_varnames": [] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "B": [ + "REF", + 4 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT" + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B" + ], + "stdout": "", + "func_name": "C", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "C", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "C_f3", + "ordered_varnames": [] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "B": [ + "REF", + 4 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B" + ], + "stdout": "", + "func_name": "C", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "C", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p", + "ordered_varnames": [ + "salutation", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "B": [ + "REF", + 4 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT", + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "6": [ + "FUNCTION", + "salutation(self)", + 3 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "A", + "B", + "C" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT", + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "6": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT", + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "6": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "C" + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 3 + ], + "unique_hash": "salutation_f4", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT", + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "6": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "C" + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 3 + ], + "unique_hash": "salutation_f4", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT", + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "6": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "C" + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": "1 hello bye", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 3 + ], + "unique_hash": "salutation_f4", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT", + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "6": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "C" + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "1 hello bye\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT", + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "6": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "C" + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "1 hello bye\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT", + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "6": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "C", + [ + "x", + 100 + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "1 hello bye\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 3 + ], + "unique_hash": "salutation_f5", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT", + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "6": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "C", + [ + "x", + 100 + ] + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "1 hello bye\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 3 + ], + "unique_hash": "salutation_f5", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT", + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "6": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "C", + [ + "x", + 100 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "1 hello bye\n", + "func_name": "salutation", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": "100 hello bye", + "self": [ + "REF", + 8 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "salutation", + "is_zombie": false, + "parent_frame_id_list": [ + 3 + ], + "unique_hash": "salutation_f5", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT", + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "6": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "C", + [ + "x", + 100 + ] + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "A", + "B", + "C", + "inst" + ], + "stdout": "1 hello bye\n100 hello bye\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "salutation": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 5 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "C", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "C_f3_p_z", + "ordered_varnames": [ + "salutation", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 2 + ], + "C": [ + "REF", + 7 + ], + "B": [ + "REF", + 4 + ], + "inst": [ + "REF", + 8 + ] + }, + "heap": { + "2": [ + "CLASS", + "A", + [], + [ + "x", + 1 + ], + [ + "y", + "hello" + ] + ], + "4": [ + "CLASS", + "B", + [], + [ + "z", + "bye" + ] + ], + "5": [ + "DICT", + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "6": [ + "FUNCTION", + "salutation(self)", + 3 + ], + "7": [ + "CLASS", + "C", + [ + "A", + "B" + ], + [ + "salutation", + [ + "REF", + 6 + ] + ] + ], + "8": [ + "INSTANCE", + "C", + [ + "x", + 100 + ] + ] + }, + "line": 15, + "event": "return" + } + ] +} diff --git a/example-code/oop_small.txt b/v3/example-code/oop_small.txt similarity index 78% rename from example-code/oop_small.txt rename to v3/example-code/oop_small.txt index e40400587..8a7ca559b 100644 --- a/example-code/oop_small.txt +++ b/v3/example-code/oop_small.txt @@ -10,6 +10,6 @@ class C(A,B): return '%d %s %s' % (self.x, self.y, self.z) inst = C() -print inst.salutation() +print(inst.salutation()) inst.x = 100 -print inst.salutation() +print(inst.salutation()) diff --git a/v3/example-code/py_tutorial.golden b/v3/example-code/py_tutorial.golden new file mode 100644 index 000000000..a3b9a2ffe --- /dev/null +++ b/v3/example-code/py_tutorial.golden @@ -0,0 +1,4754 @@ +{ + "code": "# Philip's 10-minute intro to Python\n\n# numbers!\nage = 26\npi = 3.14159\n\n# strings!\ns = 'Rutherford Birchard Hayes'\ntokens = s.split()\nfirstName = tokens[0]\nmiddleName = tokens[1]\nlastName = tokens[2]\ns2 = firstName + ' ' + middleName + ' ' + lastName\n\n# 'if' statement - indentation matters!\nif (s == s2):\n print('yes!!!')\nelse:\n print('nooooooo')\n\n# list (mutable sequence)\nbeatles = ['John', 'Paul', 'George']\nbeatles.append('Ringo')\n\n# 'for' loop - indentation matters!\nfor b in beatles:\n print('Hello ' + b)\n\n# tuple (immutable sequence)\nages = (18, 21, 28, 21, 22, 18, 19, 34, 9)\n\n# set (no order, no duplicates)\nuniqueAges = set(ages)\nuniqueAges.add(18) # already in set, no effect\nuniqueAges.remove(21)\n\n# no guaranteed order when iterating over a set\nfor thisAge in uniqueAges:\n print(thisAge)\n\n# testing set membership\nif 18 in uniqueAges:\n print('There is an 18-year-old present!')\n\n# sorting\nbeatles.sort() # in-place\norderedUniqueAges = sorted(uniqueAges) # new list\n\n# dict - mapping unique keys to values\nnetWorth = {}\nnetWorth['Donald Trump'] = 3000000000\nnetWorth['Bill Gates'] = 58000000000\nnetWorth['Tom Cruise'] = 40000000\nnetWorth['Joe Postdoc'] = 20000\n\n# iterating over key-value pairs:\nfor (person, worth) in netWorth.items():\n if worth < 1000000:\n print('haha ' + person + ' is not a millionaire')\n\n# testing dict membership\nif 'Tom Cruise' in netWorth:\n print('show me the money!')\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "age" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "age": 26 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "age": 26, + "pi": 3.142 + }, + "heap": {}, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "age": 26, + "pi": 3.142, + "s": "Rutherford Birchard Hayes" + }, + "heap": {}, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "tokens": [ + "REF", + 1 + ], + "age": 26, + "pi": 3.142, + "s": "Rutherford Birchard Hayes" + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "tokens": [ + "REF", + 1 + ], + "age": 26, + "pi": 3.142, + "s": "Rutherford Birchard Hayes", + "firstName": "Rutherford" + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "firstName": "Rutherford", + "middleName": "Birchard", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2" + ], + "stdout": "yes!!!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles" + ], + "stdout": "yes!!!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George" + ] + }, + "line": 23, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles" + ], + "stdout": "yes!!!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 26, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "John", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 27, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "John", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 26, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Paul", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 27, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\nHello Paul\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Paul", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 26, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\nHello Paul\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "George", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 27, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "George", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 26, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 27, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 26, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 30, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ] + }, + "line": 33, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 21, + 22, + 28 + ] + }, + "line": 34, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 21, + 22, + 28 + ] + }, + "line": 35, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 34, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 39, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 34, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 9, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 39, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 9, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 18, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 39, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 18, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 19, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 39, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 19, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 22, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 39, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 22, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 39, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 42, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 43, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 46, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 47, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "orderedUniqueAges": [ + "REF", + 5 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "uniqueAges": [ + "REF", + 4 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ] + }, + "line": 50, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT" + ] + }, + "line": 51, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ] + ] + }, + "line": 52, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ] + ] + }, + "line": 53, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 54, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 57, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Donald Trump", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 3000000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 58, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Donald Trump", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 3000000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 57, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Bill Gates", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 58000000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 58, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Bill Gates", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 58000000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 57, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Joe Postdoc", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 20000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 58, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Joe Postdoc", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 20000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 59, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\nhaha Joe Postdoc is not a millionaire\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Joe Postdoc", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 20000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 57, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\nhaha Joe Postdoc is not a millionaire\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Tom Cruise", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 40000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 58, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\nhaha Joe Postdoc is not a millionaire\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Tom Cruise", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 40000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 57, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\nhaha Joe Postdoc is not a millionaire\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Tom Cruise", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 40000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 62, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\nhaha Joe Postdoc is not a millionaire\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Tom Cruise", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 40000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 63, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\nhaha Joe Postdoc is not a millionaire\nshow me the money!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Tom Cruise", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 40000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 63, + "event": "return" + } + ] +} diff --git a/v3/example-code/py_tutorial.golden_py3 b/v3/example-code/py_tutorial.golden_py3 new file mode 100644 index 000000000..a3b9a2ffe --- /dev/null +++ b/v3/example-code/py_tutorial.golden_py3 @@ -0,0 +1,4754 @@ +{ + "code": "# Philip's 10-minute intro to Python\n\n# numbers!\nage = 26\npi = 3.14159\n\n# strings!\ns = 'Rutherford Birchard Hayes'\ntokens = s.split()\nfirstName = tokens[0]\nmiddleName = tokens[1]\nlastName = tokens[2]\ns2 = firstName + ' ' + middleName + ' ' + lastName\n\n# 'if' statement - indentation matters!\nif (s == s2):\n print('yes!!!')\nelse:\n print('nooooooo')\n\n# list (mutable sequence)\nbeatles = ['John', 'Paul', 'George']\nbeatles.append('Ringo')\n\n# 'for' loop - indentation matters!\nfor b in beatles:\n print('Hello ' + b)\n\n# tuple (immutable sequence)\nages = (18, 21, 28, 21, 22, 18, 19, 34, 9)\n\n# set (no order, no duplicates)\nuniqueAges = set(ages)\nuniqueAges.add(18) # already in set, no effect\nuniqueAges.remove(21)\n\n# no guaranteed order when iterating over a set\nfor thisAge in uniqueAges:\n print(thisAge)\n\n# testing set membership\nif 18 in uniqueAges:\n print('There is an 18-year-old present!')\n\n# sorting\nbeatles.sort() # in-place\norderedUniqueAges = sorted(uniqueAges) # new list\n\n# dict - mapping unique keys to values\nnetWorth = {}\nnetWorth['Donald Trump'] = 3000000000\nnetWorth['Bill Gates'] = 58000000000\nnetWorth['Tom Cruise'] = 40000000\nnetWorth['Joe Postdoc'] = 20000\n\n# iterating over key-value pairs:\nfor (person, worth) in netWorth.items():\n if worth < 1000000:\n print('haha ' + person + ' is not a millionaire')\n\n# testing dict membership\nif 'Tom Cruise' in netWorth:\n print('show me the money!')\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "age" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "age": 26 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "age": 26, + "pi": 3.142 + }, + "heap": {}, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "age": 26, + "pi": 3.142, + "s": "Rutherford Birchard Hayes" + }, + "heap": {}, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "tokens": [ + "REF", + 1 + ], + "age": 26, + "pi": 3.142, + "s": "Rutherford Birchard Hayes" + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "tokens": [ + "REF", + 1 + ], + "age": 26, + "pi": 3.142, + "s": "Rutherford Birchard Hayes", + "firstName": "Rutherford" + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "firstName": "Rutherford", + "middleName": "Birchard", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2" + ], + "stdout": "yes!!!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles" + ], + "stdout": "yes!!!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George" + ] + }, + "line": 23, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles" + ], + "stdout": "yes!!!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 26, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "John", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 27, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "John", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 26, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Paul", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 27, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\nHello Paul\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Paul", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 26, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\nHello Paul\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "George", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 27, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "George", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 26, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 27, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 26, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ] + }, + "line": 30, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ] + }, + "line": 33, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 21, + 22, + 28 + ] + }, + "line": 34, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 21, + 22, + 28 + ] + }, + "line": 35, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 34, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 39, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 34, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 9, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 39, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 9, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 18, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 39, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 18, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 19, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 39, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 19, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 22, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 39, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 22, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 39, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 38, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 42, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 43, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "John", + "Paul", + "George", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 46, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ] + }, + "line": 47, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "orderedUniqueAges": [ + "REF", + 5 + ], + "middleName": "Birchard", + "lastName": "Hayes", + "age": 26, + "uniqueAges": [ + "REF", + 4 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "s2": "Rutherford Birchard Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ] + }, + "line": 50, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT" + ] + }, + "line": 51, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ] + ] + }, + "line": 52, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ] + ] + }, + "line": 53, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 54, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 57, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Donald Trump", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 3000000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 58, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Donald Trump", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 3000000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 57, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Bill Gates", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 58000000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 58, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Bill Gates", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 58000000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 57, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Joe Postdoc", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 20000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 58, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Joe Postdoc", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 20000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 59, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\nhaha Joe Postdoc is not a millionaire\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Joe Postdoc", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 20000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 57, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\nhaha Joe Postdoc is not a millionaire\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Tom Cruise", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 40000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 58, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\nhaha Joe Postdoc is not a millionaire\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Tom Cruise", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 40000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 57, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\nhaha Joe Postdoc is not a millionaire\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Tom Cruise", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 40000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 62, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\nhaha Joe Postdoc is not a millionaire\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Tom Cruise", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 40000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 63, + "event": "step_line" + }, + { + "ordered_globals": [ + "age", + "pi", + "s", + "tokens", + "firstName", + "middleName", + "lastName", + "s2", + "beatles", + "b", + "ages", + "uniqueAges", + "thisAge", + "orderedUniqueAges", + "netWorth", + "person", + "worth" + ], + "stdout": "yes!!!\nHello John\nHello Paul\nHello George\nHello Ringo\n34\n9\n18\n19\n22\n28\nThere is an 18-year-old present!\nhaha Joe Postdoc is not a millionaire\nshow me the money!\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "netWorth": [ + "REF", + 6 + ], + "beatles": [ + "REF", + 2 + ], + "firstName": "Rutherford", + "uniqueAges": [ + "REF", + 4 + ], + "middleName": "Birchard", + "s2": "Rutherford Birchard Hayes", + "age": 26, + "orderedUniqueAges": [ + "REF", + 5 + ], + "ages": [ + "REF", + 3 + ], + "tokens": [ + "REF", + 1 + ], + "person": "Tom Cruise", + "s": "Rutherford Birchard Hayes", + "b": "Ringo", + "lastName": "Hayes", + "thisAge": 28, + "pi": 3.142, + "worth": 40000000 + }, + "heap": { + "1": [ + "LIST", + "Rutherford", + "Birchard", + "Hayes" + ], + "2": [ + "LIST", + "George", + "John", + "Paul", + "Ringo" + ], + "3": [ + "TUPLE", + 18, + 21, + 28, + 21, + 22, + 18, + 19, + 34, + 9 + ], + "4": [ + "SET", + 34, + 9, + 18, + 19, + 22, + 28 + ], + "5": [ + "LIST", + 9, + 18, + 19, + 22, + 28, + 34 + ], + "6": [ + "DICT", + [ + "Donald Trump", + 3000000000 + ], + [ + "Bill Gates", + 58000000000 + ], + [ + "Joe Postdoc", + 20000 + ], + [ + "Tom Cruise", + 40000000 + ] + ] + }, + "line": 63, + "event": "return" + } + ] +} diff --git a/example-code/py_tutorial.txt b/v3/example-code/py_tutorial.txt similarity index 81% rename from example-code/py_tutorial.txt rename to v3/example-code/py_tutorial.txt index 5f1a230d1..e51ab9599 100644 --- a/example-code/py_tutorial.txt +++ b/v3/example-code/py_tutorial.txt @@ -14,9 +14,9 @@ s2 = firstName + ' ' + middleName + ' ' + lastName # 'if' statement - indentation matters! if (s == s2): - print 'yes!!!' + print('yes!!!') else: - print 'nooooooo' + print('nooooooo') # list (mutable sequence) beatles = ['John', 'Paul', 'George'] @@ -24,7 +24,7 @@ beatles.append('Ringo') # 'for' loop - indentation matters! for b in beatles: - print 'Hello', b + print('Hello ' + b) # tuple (immutable sequence) ages = (18, 21, 28, 21, 22, 18, 19, 34, 9) @@ -36,11 +36,11 @@ uniqueAges.remove(21) # no guaranteed order when iterating over a set for thisAge in uniqueAges: - print thisAge + print(thisAge) # testing set membership if 18 in uniqueAges: - print 'There is an 18-year-old present!' + print('There is an 18-year-old present!') # sorting beatles.sort() # in-place @@ -54,10 +54,10 @@ netWorth['Tom Cruise'] = 40000000 netWorth['Joe Postdoc'] = 20000 # iterating over key-value pairs: -for (person, worth) in netWorth.iteritems(): +for (person, worth) in netWorth.items(): if worth < 1000000: - print 'haha', person, 'is not a millionaire' + print('haha ' + person + ' is not a millionaire') # testing dict membership if 'Tom Cruise' in netWorth: - print 'show me the money!' + print('show me the money!') diff --git a/v3/example-code/sqrt.golden b/v3/example-code/sqrt.golden new file mode 100644 index 000000000..324f6870c --- /dev/null +++ b/v3/example-code/sqrt.golden @@ -0,0 +1,8929 @@ +{ + "code": "# Calculating square roots by Newton's method, inspired by SICP\n# http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-10.html#%_sec_1.1.7\n\ndef sqrt(x):\n def average(a, b):\n return (a + b) / 2.0\n\n def is_good_enough(guess):\n return (abs((guess * guess) - x) < 0.001)\n\n def improve(guess):\n return average(guess, x / guess)\n\n def sqrt_iter(guess):\n if is_good_enough(guess):\n return guess\n else:\n return sqrt_iter(improve(guess))\n\n return sqrt_iter(1.0)\n\n\nans = sqrt(9)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ] + }, + "line": 23, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "average": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "average": [ + "REF", + 2 + ], + "is_good_enough": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "is_good_enough" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "average": [ + "REF", + 2 + ], + "is_good_enough": [ + "REF", + 3 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 20, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f3", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f3", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": false, + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f3", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f4", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 11, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f4", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f4", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "a": 1.000, + "b": 9.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f5", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f4", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "a": 1.000, + "b": 9.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f5", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f4", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "a": 1.000, + "__return__": 5.000, + "b": 9.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f5", + "ordered_varnames": [ + "a", + "b", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 5.000, + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f4", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f7", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f7", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": false, + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f7", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f8", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 11, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f8", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f8", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "a": 5.000, + "b": 1.800 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f9", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f8", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "a": 5.000, + "b": 1.800 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f9", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f8", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "a": 5.000, + "__return__": 3.400, + "b": 1.800 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f9", + "ordered_varnames": [ + "a", + "b", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": 3.400, + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f8", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f11", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f11", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": false, + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f11", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f12", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 11, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f12", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f12", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "a": 3.400, + "b": 2.647 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f13", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f12", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "a": 3.400, + "b": 2.647 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f13", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f12", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "a": 3.400, + "__return__": 3.023, + "b": 2.647 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f13", + "ordered_varnames": [ + "a", + "b", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "__return__": 3.023, + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f12", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f15", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f15", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "__return__": false, + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f15", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f16", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 11, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f16", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f16", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "a": 3.023, + "b": 2.977 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f17", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f16", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "a": 3.023, + "b": 2.977 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f17", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f16", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "a": 3.023, + "__return__": 3.000, + "b": 2.977 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f17", + "ordered_varnames": [ + "a", + "b", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "__return__": 3.000, + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f16", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 19, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f19", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 19, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f19", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 19, + "encoded_locals": { + "__return__": true, + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f19", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "__return__": 3.000, + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "__return__": 3.000, + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": 3.000, + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 3.000, + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 3.000, + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "__return__": 3.000, + "x": 9, + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 20, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt", + "ans" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "__return__": 3.000, + "x": 9, + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p_z", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ], + "ans": 3.000 + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 23, + "event": "return" + } + ] +} diff --git a/v3/example-code/sqrt.golden_py3 b/v3/example-code/sqrt.golden_py3 new file mode 100644 index 000000000..324f6870c --- /dev/null +++ b/v3/example-code/sqrt.golden_py3 @@ -0,0 +1,8929 @@ +{ + "code": "# Calculating square roots by Newton's method, inspired by SICP\n# http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-10.html#%_sec_1.1.7\n\ndef sqrt(x):\n def average(a, b):\n return (a + b) / 2.0\n\n def is_good_enough(guess):\n return (abs((guess * guess) - x) < 0.001)\n\n def improve(guess):\n return average(guess, x / guess)\n\n def sqrt_iter(guess):\n if is_good_enough(guess):\n return guess\n else:\n return sqrt_iter(improve(guess))\n\n return sqrt_iter(1.0)\n\n\nans = sqrt(9)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ] + }, + "line": 23, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "average": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "average": [ + "REF", + 2 + ], + "is_good_enough": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "is_good_enough" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "average": [ + "REF", + 2 + ], + "is_good_enough": [ + "REF", + 3 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 20, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f3", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f3", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": false, + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f3", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f4", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 11, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f4", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f4", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "a": 1.000, + "b": 9.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f5", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f4", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "a": 1.000, + "b": 9.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f5", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f4", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "a": 1.000, + "__return__": 5.000, + "b": 9.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f5", + "ordered_varnames": [ + "a", + "b", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 5.000, + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f4", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f7", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f7", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": false, + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f7", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f8", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 11, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f8", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f8", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "a": 5.000, + "b": 1.800 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f9", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f8", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "a": 5.000, + "b": 1.800 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f9", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f8", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "a": 5.000, + "__return__": 3.400, + "b": 1.800 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f9", + "ordered_varnames": [ + "a", + "b", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": 3.400, + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f8", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f11", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f11", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": false, + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f11", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f12", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 11, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f12", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f12", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "a": 3.400, + "b": 2.647 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f13", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f12", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "a": 3.400, + "b": 2.647 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f13", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f12", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "a": 3.400, + "__return__": 3.023, + "b": 2.647 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f13", + "ordered_varnames": [ + "a", + "b", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "__return__": 3.023, + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f12", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f15", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f15", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "__return__": false, + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f15", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f16", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 11, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f16", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f16", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "a": 3.023, + "b": 2.977 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f17", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f16", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "a": 3.023, + "b": 2.977 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f17", + "ordered_varnames": [ + "a", + "b" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "average", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f16", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "a": 3.023, + "__return__": 3.000, + "b": 2.977 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "average", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "average_f17", + "ordered_varnames": [ + "a", + "b", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "improve", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "__return__": 3.000, + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "improve", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "improve_f16", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 12, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 19, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f19", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 19, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f19", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "is_good_enough", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 19, + "encoded_locals": { + "__return__": true, + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "is_good_enough", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "is_good_enough_f19", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "guess": 3.023 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "__return__": 3.000, + "guess": 3.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f18", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "guess": 3.400 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "__return__": 3.000, + "guess": 3.023 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f14", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "guess": 5.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": 3.000, + "guess": 3.400 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f10", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "guess": 1.000 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 3.000, + "guess": 5.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f6", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt_iter", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 9, + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 3.000, + "guess": 1.000 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sqrt_iter", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "sqrt_iter_f2", + "ordered_varnames": [ + "guess", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt" + ], + "stdout": "", + "func_name": "sqrt", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "__return__": 3.000, + "x": 9, + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 20, + "event": "return" + }, + { + "ordered_globals": [ + "sqrt", + "ans" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "sqrt_iter": [ + "REF", + 5 + ], + "is_good_enough": [ + "REF", + 3 + ], + "__return__": 3.000, + "x": 9, + "average": [ + "REF", + 2 + ], + "improve": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sqrt", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "sqrt_f1_p_z", + "ordered_varnames": [ + "x", + "average", + "improve", + "is_good_enough", + "sqrt_iter", + "__return__" + ] + } + ], + "globals": { + "sqrt": [ + "REF", + 1 + ], + "ans": 3.000 + }, + "heap": { + "1": [ + "FUNCTION", + "sqrt(x)", + null + ], + "2": [ + "FUNCTION", + "average(a, b)", + 1 + ], + "3": [ + "FUNCTION", + "is_good_enough(guess)", + 1 + ], + "4": [ + "FUNCTION", + "improve(guess)", + 1 + ], + "5": [ + "FUNCTION", + "sqrt_iter(guess)", + 1 + ] + }, + "line": 23, + "event": "return" + } + ] +} diff --git a/example-code/sqrt.txt b/v3/example-code/sqrt.txt similarity index 100% rename from example-code/sqrt.txt rename to v3/example-code/sqrt.txt diff --git a/v3/example-code/strtok.golden b/v3/example-code/strtok.golden new file mode 100644 index 000000000..3c5031e8f --- /dev/null +++ b/v3/example-code/strtok.golden @@ -0,0 +1,258 @@ +{ + "code": "input = 'John,Doe,1984,4,1,male'\n\ntokens = input.split(',')\nfirstName = tokens[0]\nlastName = tokens[1]\nbirthdate = (int(tokens[2]), int(tokens[3]), int(tokens[4]))\nisMale = (tokens[5] == 'male')\n\nprint('Hi ' + firstName + ' ' + lastName)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "input": "John,Doe,1984,4,1,male" + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "tokens" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "tokens": [ + "REF", + 1 + ], + "input": "John,Doe,1984,4,1,male" + }, + "heap": { + "1": [ + "LIST", + "John", + "Doe", + "1984", + "4", + "1", + "male" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "tokens", + "firstName" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "tokens": [ + "REF", + 1 + ], + "input": "John,Doe,1984,4,1,male", + "firstName": "John" + }, + "heap": { + "1": [ + "LIST", + "John", + "Doe", + "1984", + "4", + "1", + "male" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "tokens", + "firstName", + "lastName" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "tokens": [ + "REF", + 1 + ], + "lastName": "Doe", + "firstName": "John", + "input": "John,Doe,1984,4,1,male" + }, + "heap": { + "1": [ + "LIST", + "John", + "Doe", + "1984", + "4", + "1", + "male" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "tokens", + "firstName", + "lastName", + "birthdate" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "tokens": [ + "REF", + 1 + ], + "lastName": "Doe", + "firstName": "John", + "birthdate": [ + "REF", + 2 + ], + "input": "John,Doe,1984,4,1,male" + }, + "heap": { + "1": [ + "LIST", + "John", + "Doe", + "1984", + "4", + "1", + "male" + ], + "2": [ + "TUPLE", + 1984, + 4, + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "tokens", + "firstName", + "lastName", + "birthdate", + "isMale" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "isMale": true, + "firstName": "John", + "lastName": "Doe", + "birthdate": [ + "REF", + 2 + ], + "tokens": [ + "REF", + 1 + ], + "input": "John,Doe,1984,4,1,male" + }, + "heap": { + "1": [ + "LIST", + "John", + "Doe", + "1984", + "4", + "1", + "male" + ], + "2": [ + "TUPLE", + 1984, + 4, + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "tokens", + "firstName", + "lastName", + "birthdate", + "isMale" + ], + "stdout": "Hi John Doe\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "isMale": true, + "firstName": "John", + "lastName": "Doe", + "birthdate": [ + "REF", + 2 + ], + "tokens": [ + "REF", + 1 + ], + "input": "John,Doe,1984,4,1,male" + }, + "heap": { + "1": [ + "LIST", + "John", + "Doe", + "1984", + "4", + "1", + "male" + ], + "2": [ + "TUPLE", + 1984, + 4, + 1 + ] + }, + "line": 9, + "event": "return" + } + ] +} diff --git a/v3/example-code/strtok.golden_py3 b/v3/example-code/strtok.golden_py3 new file mode 100644 index 000000000..3c5031e8f --- /dev/null +++ b/v3/example-code/strtok.golden_py3 @@ -0,0 +1,258 @@ +{ + "code": "input = 'John,Doe,1984,4,1,male'\n\ntokens = input.split(',')\nfirstName = tokens[0]\nlastName = tokens[1]\nbirthdate = (int(tokens[2]), int(tokens[3]), int(tokens[4]))\nisMale = (tokens[5] == 'male')\n\nprint('Hi ' + firstName + ' ' + lastName)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "input" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "input": "John,Doe,1984,4,1,male" + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "tokens" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "tokens": [ + "REF", + 1 + ], + "input": "John,Doe,1984,4,1,male" + }, + "heap": { + "1": [ + "LIST", + "John", + "Doe", + "1984", + "4", + "1", + "male" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "tokens", + "firstName" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "tokens": [ + "REF", + 1 + ], + "input": "John,Doe,1984,4,1,male", + "firstName": "John" + }, + "heap": { + "1": [ + "LIST", + "John", + "Doe", + "1984", + "4", + "1", + "male" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "tokens", + "firstName", + "lastName" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "tokens": [ + "REF", + 1 + ], + "lastName": "Doe", + "firstName": "John", + "input": "John,Doe,1984,4,1,male" + }, + "heap": { + "1": [ + "LIST", + "John", + "Doe", + "1984", + "4", + "1", + "male" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "tokens", + "firstName", + "lastName", + "birthdate" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "tokens": [ + "REF", + 1 + ], + "lastName": "Doe", + "firstName": "John", + "birthdate": [ + "REF", + 2 + ], + "input": "John,Doe,1984,4,1,male" + }, + "heap": { + "1": [ + "LIST", + "John", + "Doe", + "1984", + "4", + "1", + "male" + ], + "2": [ + "TUPLE", + 1984, + 4, + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "tokens", + "firstName", + "lastName", + "birthdate", + "isMale" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "isMale": true, + "firstName": "John", + "lastName": "Doe", + "birthdate": [ + "REF", + 2 + ], + "tokens": [ + "REF", + 1 + ], + "input": "John,Doe,1984,4,1,male" + }, + "heap": { + "1": [ + "LIST", + "John", + "Doe", + "1984", + "4", + "1", + "male" + ], + "2": [ + "TUPLE", + 1984, + 4, + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "input", + "tokens", + "firstName", + "lastName", + "birthdate", + "isMale" + ], + "stdout": "Hi John Doe\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "isMale": true, + "firstName": "John", + "lastName": "Doe", + "birthdate": [ + "REF", + 2 + ], + "tokens": [ + "REF", + 1 + ], + "input": "John,Doe,1984,4,1,male" + }, + "heap": { + "1": [ + "LIST", + "John", + "Doe", + "1984", + "4", + "1", + "male" + ], + "2": [ + "TUPLE", + 1984, + 4, + 1 + ] + }, + "line": 9, + "event": "return" + } + ] +} diff --git a/example-code/strtok.txt b/v3/example-code/strtok.txt similarity index 82% rename from example-code/strtok.txt rename to v3/example-code/strtok.txt index 96e8100d5..52e08f112 100644 --- a/example-code/strtok.txt +++ b/v3/example-code/strtok.txt @@ -6,4 +6,4 @@ lastName = tokens[1] birthdate = (int(tokens[2]), int(tokens[3]), int(tokens[4])) isMale = (tokens[5] == 'male') -print 'Hi', firstName, lastName +print('Hi ' + firstName + ' ' + lastName) diff --git a/v3/example-code/sum-cubes.golden b/v3/example-code/sum-cubes.golden new file mode 100644 index 000000000..6eecbbe30 --- /dev/null +++ b/v3/example-code/sum-cubes.golden @@ -0,0 +1,1693 @@ +{ + "code": "def summation(n, term, next):\n total, k = 0, 1\n while k <= n:\n total, k = total + term(k), next(k)\n return total\n\ndef cube(k):\n return pow(k, 3)\n\ndef successor(k):\n return k + 1\n\ndef sum_cubes(n):\n return summation(n, cube, successor)\n\nsum_cubes(3)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "sum_cubes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "sum_cubes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "term": [ + "REF", + 2 + ], + "n": 3, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "term": [ + "REF", + 2 + ], + "n": 3, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "cube", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "cube", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "cube_f3", + "ordered_varnames": [ + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "cube", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "cube", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "cube_f3", + "ordered_varnames": [ + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "cube", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 1, + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "cube", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "cube_f3", + "ordered_varnames": [ + "k", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "successor", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "successor", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "successor_f4", + "ordered_varnames": [ + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "successor", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "successor", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "successor_f4", + "ordered_varnames": [ + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "successor", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 2, + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "successor", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "successor_f4", + "ordered_varnames": [ + "k", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 1, + "k": 2, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "term": [ + "REF", + 2 + ], + "k": 2, + "n": 3, + "next": [ + "REF", + 3 + ], + "__return__": 1, + "total": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "sum_cubes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 1, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 16, + "event": "return" + } + ] +} diff --git a/v3/example-code/sum-cubes.golden_py3 b/v3/example-code/sum-cubes.golden_py3 new file mode 100644 index 000000000..6eecbbe30 --- /dev/null +++ b/v3/example-code/sum-cubes.golden_py3 @@ -0,0 +1,1693 @@ +{ + "code": "def summation(n, term, next):\n total, k = 0, 1\n while k <= n:\n total, k = total + term(k), next(k)\n return total\n\ndef cube(k):\n return pow(k, 3)\n\ndef successor(k):\n return k + 1\n\ndef sum_cubes(n):\n return summation(n, cube, successor)\n\nsum_cubes(3)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "sum_cubes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "sum_cubes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "term": [ + "REF", + 2 + ], + "n": 3, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "term": [ + "REF", + 2 + ], + "n": 3, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "cube", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "cube", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "cube_f3", + "ordered_varnames": [ + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "cube", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "cube", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "cube_f3", + "ordered_varnames": [ + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "cube", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 1, + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "cube", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "cube_f3", + "ordered_varnames": [ + "k", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "successor", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "successor", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "successor_f4", + "ordered_varnames": [ + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "successor", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "successor", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "successor_f4", + "ordered_varnames": [ + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "successor", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 0, + "k": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 2, + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "successor", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "successor_f4", + "ordered_varnames": [ + "k", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3, + "term": [ + "REF", + 2 + ], + "total": 1, + "k": 2, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "term": [ + "REF", + 2 + ], + "k": 2, + "n": 3, + "next": [ + "REF", + 3 + ], + "__return__": 1, + "total": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "n", + "term", + "next", + "total", + "k", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "sum_cubes", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 1, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sum_cubes", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sum_cubes_f1", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "cube", + "successor", + "sum_cubes" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ], + "cube": [ + "REF", + 2 + ], + "sum_cubes": [ + "REF", + 4 + ], + "successor": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(n, term, next)", + null + ], + "2": [ + "FUNCTION", + "cube(k)", + null + ], + "3": [ + "FUNCTION", + "successor(k)", + null + ], + "4": [ + "FUNCTION", + "sum_cubes(n)", + null + ] + }, + "line": 16, + "event": "return" + } + ] +} diff --git a/v3/example-code/sum-cubes.txt b/v3/example-code/sum-cubes.txt new file mode 100644 index 000000000..7eff416f7 --- /dev/null +++ b/v3/example-code/sum-cubes.txt @@ -0,0 +1,16 @@ +def summation(n, term, next): + total, k = 0, 1 + while k <= n: + total, k = total + term(k), next(k) + return total + +def cube(k): + return pow(k, 3) + +def successor(k): + return k + 1 + +def sum_cubes(n): + return summation(n, cube, successor) + +sum_cubes(3) diff --git a/v3/example-code/sum-list.golden b/v3/example-code/sum-list.golden new file mode 100644 index 000000000..c121417d9 --- /dev/null +++ b/v3/example-code/sum-list.golden @@ -0,0 +1,3466 @@ +{ + "code": "myList = (1, (2, (3, (4, (5, None)))))\n\ndef sumList(node, subtotal):\n if not node:\n return subtotal\n else:\n return sumList(node[1], subtotal + node[0])\n\ntotal = sumList(myList, 0)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "myList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "node": null, + "subtotal": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f6", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "node": null, + "subtotal": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f6", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "node": null, + "subtotal": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f6", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "node": null, + "__return__": 15, + "subtotal": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f6", + "ordered_varnames": [ + "node", + "subtotal", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "__return__": 15, + "subtotal": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "__return__": 15, + "subtotal": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "__return__": 15, + "subtotal": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "__return__": 15, + "subtotal": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "__return__": 15, + "subtotal": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "myList", + "sumList", + "total" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "total": 15, + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 9, + "event": "return" + } + ] +} diff --git a/v3/example-code/sum-list.golden_py3 b/v3/example-code/sum-list.golden_py3 new file mode 100644 index 000000000..c121417d9 --- /dev/null +++ b/v3/example-code/sum-list.golden_py3 @@ -0,0 +1,3466 @@ +{ + "code": "myList = (1, (2, (3, (4, (5, None)))))\n\ndef sumList(node, subtotal):\n if not node:\n return subtotal\n else:\n return sumList(node[1], subtotal + node[0])\n\ntotal = sumList(myList, 0)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "myList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "node": null, + "subtotal": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f6", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "node": null, + "subtotal": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f6", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "node": null, + "subtotal": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f6", + "ordered_varnames": [ + "node", + "subtotal" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "subtotal": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "node": null, + "__return__": 15, + "subtotal": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f6", + "ordered_varnames": [ + "node", + "subtotal", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "subtotal": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "node": [ + "REF", + 5 + ], + "__return__": 15, + "subtotal": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f5", + "ordered_varnames": [ + "node", + "subtotal", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "subtotal": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "node": [ + "REF", + 4 + ], + "__return__": 15, + "subtotal": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f4", + "ordered_varnames": [ + "node", + "subtotal", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "subtotal": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "node": [ + "REF", + 3 + ], + "__return__": 15, + "subtotal": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "node", + "subtotal", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "subtotal": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "node": [ + "REF", + 2 + ], + "__return__": 15, + "subtotal": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "node", + "subtotal", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "myList", + "sumList" + ], + "stdout": "", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "node": [ + "REF", + 1 + ], + "__return__": 15, + "subtotal": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "node", + "subtotal", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "myList", + "sumList", + "total" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "total": 15, + "myList": [ + "REF", + 1 + ], + "sumList": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 2, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 3, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 4, + [ + "REF", + 5 + ] + ], + "5": [ + "TUPLE", + 5, + null + ], + "6": [ + "FUNCTION", + "sumList(node, subtotal)", + null + ] + }, + "line": 9, + "event": "return" + } + ] +} diff --git a/v3/example-code/sum-list.txt b/v3/example-code/sum-list.txt new file mode 100644 index 000000000..9945a6a6b --- /dev/null +++ b/v3/example-code/sum-list.txt @@ -0,0 +1,9 @@ +myList = (1, (2, (3, (4, (5, None))))) + +def sumList(node, subtotal): + if not node: + return subtotal + else: + return sumList(node[1], subtotal + node[0]) + +total = sumList(myList, 0) diff --git a/v3/example-code/sum.golden b/v3/example-code/sum.golden new file mode 100644 index 000000000..0186b5dff --- /dev/null +++ b/v3/example-code/sum.golden @@ -0,0 +1,10163 @@ +{ + "code": "# Higher-order functions\n# Adapted from MIT 6.01 course notes (Section A.2.2)\n# http://mit.edu/6.01/mercurial/spring10/www/handouts/readings.pdf\n\ndef summation(low, high, f, next):\n s = 0\n x = low\n while x <= high:\n s = s + f(x)\n x = next(x)\n return s\n\ndef sumsquares(low, high):\n return summation(low, high, lambda x: x**2, lambda x: x+1)\n\nprint(sumsquares(1, 10))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "sumsquares", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1", + "ordered_varnames": [ + "low", + "high" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "sumsquares", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1", + "ordered_varnames": [ + "low", + "high" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "high": 10, + "f": [ + "REF", + 4 + ], + "low": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "high": 10, + "f": [ + "REF", + 4 + ], + "low": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "high": 10, + "s": 0, + "f": [ + "REF", + 4 + ], + "low": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 2, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": 4, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 3, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": 9, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": 4, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "__return__": 16, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": 5, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f10", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": 25, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "__return__": 6, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f12", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f13", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f13", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "__return__": 36, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f13", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f14", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f14", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "__return__": 7, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f14", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f15", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f15", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "__return__": 49, + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f15", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f16", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f16", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "__return__": 8, + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f16", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f17", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f17", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "__return__": 64, + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f17", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f18", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f18", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "__return__": 9, + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f18", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 19, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f19", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 19, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f19", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 19, + "encoded_locals": { + "__return__": 81, + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f19", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 20, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f20", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 20, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f20", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 20, + "encoded_locals": { + "__return__": 10, + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f20", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 21, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f21", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 21, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f21", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 21, + "encoded_locals": { + "__return__": 100, + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f21", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "x": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 22, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f22", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "x": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 22, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f22", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "x": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 22, + "encoded_locals": { + "__return__": 11, + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f22", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "__return__": 385, + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "sumsquares", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "__return__": 385, + "low": 1 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "385\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "__return__": 385, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p_z", + "ordered_varnames": [ + "low", + "high", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 16, + "event": "return" + } + ] +} diff --git a/v3/example-code/sum.golden_py3 b/v3/example-code/sum.golden_py3 new file mode 100644 index 000000000..0186b5dff --- /dev/null +++ b/v3/example-code/sum.golden_py3 @@ -0,0 +1,10163 @@ +{ + "code": "# Higher-order functions\n# Adapted from MIT 6.01 course notes (Section A.2.2)\n# http://mit.edu/6.01/mercurial/spring10/www/handouts/readings.pdf\n\ndef summation(low, high, f, next):\n s = 0\n x = low\n while x <= high:\n s = s + f(x)\n x = next(x)\n return s\n\ndef sumsquares(low, high):\n return summation(low, high, lambda x: x**2, lambda x: x+1)\n\nprint(sumsquares(1, 10))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "sumsquares", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1", + "ordered_varnames": [ + "low", + "high" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "sumsquares", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1", + "ordered_varnames": [ + "low", + "high" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "high": 10, + "f": [ + "REF", + 4 + ], + "low": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "high": 10, + "f": [ + "REF", + 4 + ], + "low": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "high": 10, + "s": 0, + "f": [ + "REF", + 4 + ], + "low": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 2, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": 4, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 3, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": 9, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": 4, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "__return__": 16, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": 5, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f10", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": 25, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "__return__": 6, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f12", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f13", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f13", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "__return__": 36, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f13", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f14", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f14", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 6 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "__return__": 7, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f14", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f15", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f15", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 91, + "low": 1, + "x": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "__return__": 49, + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f15", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f16", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f16", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 7 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "__return__": 8, + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f16", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f17", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f17", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 140, + "low": 1, + "x": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 17, + "encoded_locals": { + "__return__": 64, + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f17", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f18", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f18", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 8 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 18, + "encoded_locals": { + "__return__": 9, + "x": 8 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f18", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 19, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f19", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 19, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f19", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 204, + "low": 1, + "x": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 19, + "encoded_locals": { + "__return__": 81, + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f19", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 20, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f20", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 20, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f20", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 9 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 20, + "encoded_locals": { + "__return__": 10, + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f20", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 21, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f21", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 21, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f21", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 285, + "low": 1, + "x": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 21, + "encoded_locals": { + "__return__": 100, + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f21", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "x": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 22, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f22", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "x": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 22, + "encoded_locals": { + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f22", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "x": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 22, + "encoded_locals": { + "__return__": 11, + "x": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f22", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 10, + "s": 385, + "low": 1, + "__return__": 385, + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "sumsquares", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "__return__": 385, + "low": 1 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "385\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 10, + "__return__": 385, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p_z", + "ordered_varnames": [ + "low", + "high", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 16, + "event": "return" + } + ] +} diff --git a/example-code/sum.txt b/v3/example-code/sum.txt similarity index 93% rename from example-code/sum.txt rename to v3/example-code/sum.txt index 99a8ace18..3fe651044 100644 --- a/example-code/sum.txt +++ b/v3/example-code/sum.txt @@ -13,4 +13,4 @@ def summation(low, high, f, next): def sumsquares(low, high): return summation(low, high, lambda x: x**2, lambda x: x+1) -print sumsquares(1, 10) +print(sumsquares(1, 10)) diff --git a/v3/example-code/towers_of_hanoi.golden b/v3/example-code/towers_of_hanoi.golden new file mode 100644 index 000000000..0b98e6d8c --- /dev/null +++ b/v3/example-code/towers_of_hanoi.golden @@ -0,0 +1,10996 @@ +{ + "code": "# move a stack of n disks from stack a to stack b,\n# using tmp as a temporary stack\ndef TowerOfHanoi(n, a, b, tmp):\n if n == 1:\n b.append(a.pop())\n else:\n TowerOfHanoi(n-1, a, tmp, b)\n b.append(a.pop())\n TowerOfHanoi(n-1, tmp, b, a)\n \nstack1 = [4,3,2,1]\nstack2 = []\nstack3 = []\n \n# transfer stack1 to stack3 using Tower of Hanoi rules\nTowerOfHanoi(len(stack1), stack1, stack3, stack2)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "TowerOfHanoi": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f4", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f4", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f4", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f4", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST" + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST" + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 2 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f5", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 2 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f5", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f5", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f5", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f7", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f7", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f7", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "__return__": null, + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f7", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 1 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 1 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 1 + ], + "3": [ + "LIST", + 3, + 2 + ], + "4": [ + "LIST" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f8", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 1 + ], + "3": [ + "LIST", + 3, + 2 + ], + "4": [ + "LIST" + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f8", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 1 + ], + "3": [ + "LIST", + 3, + 2 + ], + "4": [ + "LIST" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f8", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 1 + ], + "3": [ + "LIST", + 3, + 2 + ], + "4": [ + "LIST" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f8", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST" + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "__return__": null, + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST" + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST" + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST" + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f11", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f11", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f11", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f11", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2 + ], + "4": [ + "LIST", + 4, + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2 + ], + "4": [ + "LIST", + 4, + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4, + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f12", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4, + 1 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f12", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4, + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f12", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4, + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "__return__": null, + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f12", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "__return__": null, + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f14", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f14", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f14", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f14", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 4, + 3, + 2 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f15", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 4, + 3, + 2 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f15", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 4, + 3, + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f15", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 4, + 3, + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f15", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3, + 2, + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3, + 2, + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3, + 2, + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3, + 2, + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3, + 2, + 1 + ] + }, + "line": 16, + "event": "return" + } + ] +} diff --git a/v3/example-code/towers_of_hanoi.golden_py3 b/v3/example-code/towers_of_hanoi.golden_py3 new file mode 100644 index 000000000..0b98e6d8c --- /dev/null +++ b/v3/example-code/towers_of_hanoi.golden_py3 @@ -0,0 +1,10996 @@ +{ + "code": "# move a stack of n disks from stack a to stack b,\n# using tmp as a temporary stack\ndef TowerOfHanoi(n, a, b, tmp):\n if n == 1:\n b.append(a.pop())\n else:\n TowerOfHanoi(n-1, a, tmp, b)\n b.append(a.pop())\n TowerOfHanoi(n-1, tmp, b, a)\n \nstack1 = [4,3,2,1]\nstack2 = []\nstack3 = []\n \n# transfer stack1 to stack3 using Tower of Hanoi rules\nTowerOfHanoi(len(stack1), stack1, stack3, stack2)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "TowerOfHanoi": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f4", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f4", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f4", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f4", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST" + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3, + 2 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST" + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 2 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f5", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 2 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f5", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f5", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f5", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f3", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 3 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f7", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f7", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f7", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2, + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "__return__": null, + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f7", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 1 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 1 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 2 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 1 + ], + "3": [ + "LIST", + 3, + 2 + ], + "4": [ + "LIST" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f8", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 1 + ], + "3": [ + "LIST", + 3, + 2 + ], + "4": [ + "LIST" + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f8", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 1 + ], + "3": [ + "LIST", + 3, + 2 + ], + "4": [ + "LIST" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f8", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4, + 1 + ], + "3": [ + "LIST", + 3, + 2 + ], + "4": [ + "LIST" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f8", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST" + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 4 + ], + "__return__": null, + "b": [ + "REF", + 3 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f6", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST" + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 3 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f2", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST" + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 4 + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST" + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f11", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f11", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f11", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2, + 1 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f11", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2 + ], + "4": [ + "LIST", + 4, + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 3, + 2 + ], + "4": [ + "LIST", + 4, + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4, + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f12", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4, + 1 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f12", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4, + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f12", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4, + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 4 + ], + "__return__": null, + "b": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f12", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 3 + ], + "__return__": null, + "b": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f10", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST", + 3 + ], + "4": [ + "LIST", + 4 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f14", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f14", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f14", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2, + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "tmp": [ + "REF", + 4 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 3 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f14", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST", + 2 + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 4, + 3 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 4, + 3, + 2 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f15", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 4, + 3, + 2 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f15", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 4, + 3, + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f15", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST", + 1 + ], + "4": [ + "LIST", + 4, + 3, + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f15", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3, + 2, + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f13", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3, + 2, + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "tmp": [ + "REF", + 2 + ], + "a": [ + "REF", + 3 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f9", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3, + 2, + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "TowerOfHanoi", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "tmp": [ + "REF", + 3 + ], + "a": [ + "REF", + 2 + ], + "__return__": null, + "b": [ + "REF", + 4 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "TowerOfHanoi", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "TowerOfHanoi_f1", + "ordered_varnames": [ + "n", + "a", + "b", + "tmp", + "__return__" + ] + } + ], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3, + 2, + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "TowerOfHanoi", + "stack1", + "stack2", + "stack3" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "stack3": [ + "REF", + 4 + ], + "stack2": [ + "REF", + 3 + ], + "TowerOfHanoi": [ + "REF", + 1 + ], + "stack1": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "TowerOfHanoi(n, a, b, tmp)", + null + ], + "2": [ + "LIST" + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 4, + 3, + 2, + 1 + ] + }, + "line": 16, + "event": "return" + } + ] +} diff --git a/example-code/towers_of_hanoi.txt b/v3/example-code/towers_of_hanoi.txt similarity index 100% rename from example-code/towers_of_hanoi.txt rename to v3/example-code/towers_of_hanoi.txt diff --git a/v3/example-code/varargs.golden b/v3/example-code/varargs.golden new file mode 100644 index 000000000..d12be8967 --- /dev/null +++ b/v3/example-code/varargs.golden @@ -0,0 +1,1015 @@ +{ + "code": "# Demonstrate *args and **kwargs\ndef f1(a, b, *rest):\n pass\n\nf1(1, 2)\nf1(1, 2, 3, 4, 5, 6, 7)\n\ndef f2(a, b, **kwrest):\n pass\n\nf2(1, 2, name='Bob', age=38)\n\ndef f3(a, b, *rest, **kwrest):\n pass\n\nf3(1, 2, 3, 4, name='Bob', age=38)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "f1", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 1, + "b": 2, + "rest": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f1_f1", + "ordered_varnames": [ + "a", + "b", + "rest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "2": [ + "TUPLE" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "f1", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 1, + "b": 2, + "rest": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f1_f1", + "ordered_varnames": [ + "a", + "b", + "rest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "2": [ + "TUPLE" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "f1", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 1, + "__return__": null, + "b": 2, + "rest": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f1_f1", + "ordered_varnames": [ + "a", + "b", + "rest", + "__return__" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "2": [ + "TUPLE" + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "f1", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 1, + "b": 2, + "rest": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f1_f2", + "ordered_varnames": [ + "a", + "b", + "rest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "3": [ + "TUPLE", + 3, + 4, + 5, + 6, + 7 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "f1", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 1, + "b": 2, + "rest": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f1_f2", + "ordered_varnames": [ + "a", + "b", + "rest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "3": [ + "TUPLE", + 3, + 4, + 5, + 6, + 7 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "f1", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 1, + "__return__": null, + "b": 2, + "rest": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f1_f2", + "ordered_varnames": [ + "a", + "b", + "rest", + "__return__" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "3": [ + "TUPLE", + 3, + 4, + 5, + 6, + 7 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1", + "f2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1", + "f2" + ], + "stdout": "", + "func_name": "f2", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "a": 1, + "b": 2, + "kwrest": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f2", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f2_f3", + "ordered_varnames": [ + "a", + "b", + "kwrest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "5": [ + "DICT", + [ + "age", + 38 + ], + [ + "name", + "Bob" + ] + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "f1", + "f2" + ], + "stdout": "", + "func_name": "f2", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "a": 1, + "b": 2, + "kwrest": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f2", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f2_f3", + "ordered_varnames": [ + "a", + "b", + "kwrest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "5": [ + "DICT", + [ + "age", + 38 + ], + [ + "name", + "Bob" + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1", + "f2" + ], + "stdout": "", + "func_name": "f2", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "a": 1, + "__return__": null, + "b": 2, + "kwrest": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f2", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f2_f3", + "ordered_varnames": [ + "a", + "b", + "kwrest", + "__return__" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "5": [ + "DICT", + [ + "age", + 38 + ], + [ + "name", + "Bob" + ] + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "f1", + "f2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1", + "f2", + "f3" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ], + "f3": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "6": [ + "FUNCTION", + "f3(a, b, *rest, **kwrest)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1", + "f2", + "f3" + ], + "stdout": "", + "func_name": "f3", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "a": 1, + "b": 2, + "rest": [ + "REF", + 8 + ], + "kwrest": [ + "REF", + 7 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f3", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f3_f4", + "ordered_varnames": [ + "a", + "b", + "rest", + "kwrest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ], + "f3": [ + "REF", + 6 + ] + }, + "heap": { + "8": [ + "TUPLE", + 3, + 4 + ], + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "6": [ + "FUNCTION", + "f3(a, b, *rest, **kwrest)", + null + ], + "7": [ + "DICT", + [ + "age", + 38 + ], + [ + "name", + "Bob" + ] + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "f1", + "f2", + "f3" + ], + "stdout": "", + "func_name": "f3", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "a": 1, + "b": 2, + "rest": [ + "REF", + 8 + ], + "kwrest": [ + "REF", + 7 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f3", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f3_f4", + "ordered_varnames": [ + "a", + "b", + "rest", + "kwrest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ], + "f3": [ + "REF", + 6 + ] + }, + "heap": { + "8": [ + "TUPLE", + 3, + 4 + ], + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "6": [ + "FUNCTION", + "f3(a, b, *rest, **kwrest)", + null + ], + "7": [ + "DICT", + [ + "age", + 38 + ], + [ + "name", + "Bob" + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1", + "f2", + "f3" + ], + "stdout": "", + "func_name": "f3", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "a": 1, + "__return__": null, + "b": 2, + "rest": [ + "REF", + 8 + ], + "kwrest": [ + "REF", + 7 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f3", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f3_f4", + "ordered_varnames": [ + "a", + "b", + "rest", + "kwrest", + "__return__" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ], + "f3": [ + "REF", + 6 + ] + }, + "heap": { + "8": [ + "TUPLE", + 3, + 4 + ], + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "6": [ + "FUNCTION", + "f3(a, b, *rest, **kwrest)", + null + ], + "7": [ + "DICT", + [ + "age", + 38 + ], + [ + "name", + "Bob" + ] + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "f1", + "f2", + "f3" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ], + "f3": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "6": [ + "FUNCTION", + "f3(a, b, *rest, **kwrest)", + null + ] + }, + "line": 16, + "event": "return" + } + ] +} diff --git a/v3/example-code/varargs.golden_py3 b/v3/example-code/varargs.golden_py3 new file mode 100644 index 000000000..d12be8967 --- /dev/null +++ b/v3/example-code/varargs.golden_py3 @@ -0,0 +1,1015 @@ +{ + "code": "# Demonstrate *args and **kwargs\ndef f1(a, b, *rest):\n pass\n\nf1(1, 2)\nf1(1, 2, 3, 4, 5, 6, 7)\n\ndef f2(a, b, **kwrest):\n pass\n\nf2(1, 2, name='Bob', age=38)\n\ndef f3(a, b, *rest, **kwrest):\n pass\n\nf3(1, 2, 3, 4, name='Bob', age=38)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "f1", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 1, + "b": 2, + "rest": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f1_f1", + "ordered_varnames": [ + "a", + "b", + "rest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "2": [ + "TUPLE" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "f1", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 1, + "b": 2, + "rest": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f1_f1", + "ordered_varnames": [ + "a", + "b", + "rest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "2": [ + "TUPLE" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "f1", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 1, + "__return__": null, + "b": 2, + "rest": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f1_f1", + "ordered_varnames": [ + "a", + "b", + "rest", + "__return__" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "2": [ + "TUPLE" + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "f1", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 1, + "b": 2, + "rest": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f1_f2", + "ordered_varnames": [ + "a", + "b", + "rest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "3": [ + "TUPLE", + 3, + 4, + 5, + 6, + 7 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "f1", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 1, + "b": 2, + "rest": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f1_f2", + "ordered_varnames": [ + "a", + "b", + "rest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "3": [ + "TUPLE", + 3, + 4, + 5, + 6, + 7 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "f1", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 1, + "__return__": null, + "b": 2, + "rest": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f1_f2", + "ordered_varnames": [ + "a", + "b", + "rest", + "__return__" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "3": [ + "TUPLE", + 3, + 4, + 5, + 6, + 7 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "f1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1", + "f2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1", + "f2" + ], + "stdout": "", + "func_name": "f2", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "a": 1, + "b": 2, + "kwrest": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f2", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f2_f3", + "ordered_varnames": [ + "a", + "b", + "kwrest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "5": [ + "DICT", + [ + "age", + 38 + ], + [ + "name", + "Bob" + ] + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "f1", + "f2" + ], + "stdout": "", + "func_name": "f2", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "a": 1, + "b": 2, + "kwrest": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f2", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f2_f3", + "ordered_varnames": [ + "a", + "b", + "kwrest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "5": [ + "DICT", + [ + "age", + 38 + ], + [ + "name", + "Bob" + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1", + "f2" + ], + "stdout": "", + "func_name": "f2", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "a": 1, + "__return__": null, + "b": 2, + "kwrest": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f2", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f2_f3", + "ordered_varnames": [ + "a", + "b", + "kwrest", + "__return__" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "5": [ + "DICT", + [ + "age", + 38 + ], + [ + "name", + "Bob" + ] + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "f1", + "f2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1", + "f2", + "f3" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ], + "f3": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "6": [ + "FUNCTION", + "f3(a, b, *rest, **kwrest)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1", + "f2", + "f3" + ], + "stdout": "", + "func_name": "f3", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "a": 1, + "b": 2, + "rest": [ + "REF", + 8 + ], + "kwrest": [ + "REF", + 7 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f3", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f3_f4", + "ordered_varnames": [ + "a", + "b", + "rest", + "kwrest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ], + "f3": [ + "REF", + 6 + ] + }, + "heap": { + "8": [ + "TUPLE", + 3, + 4 + ], + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "6": [ + "FUNCTION", + "f3(a, b, *rest, **kwrest)", + null + ], + "7": [ + "DICT", + [ + "age", + 38 + ], + [ + "name", + "Bob" + ] + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "f1", + "f2", + "f3" + ], + "stdout": "", + "func_name": "f3", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "a": 1, + "b": 2, + "rest": [ + "REF", + 8 + ], + "kwrest": [ + "REF", + 7 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f3", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f3_f4", + "ordered_varnames": [ + "a", + "b", + "rest", + "kwrest" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ], + "f3": [ + "REF", + 6 + ] + }, + "heap": { + "8": [ + "TUPLE", + 3, + 4 + ], + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "6": [ + "FUNCTION", + "f3(a, b, *rest, **kwrest)", + null + ], + "7": [ + "DICT", + [ + "age", + 38 + ], + [ + "name", + "Bob" + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "f1", + "f2", + "f3" + ], + "stdout": "", + "func_name": "f3", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "a": 1, + "__return__": null, + "b": 2, + "rest": [ + "REF", + 8 + ], + "kwrest": [ + "REF", + 7 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f3", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f3_f4", + "ordered_varnames": [ + "a", + "b", + "rest", + "kwrest", + "__return__" + ] + } + ], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ], + "f3": [ + "REF", + 6 + ] + }, + "heap": { + "8": [ + "TUPLE", + 3, + 4 + ], + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "6": [ + "FUNCTION", + "f3(a, b, *rest, **kwrest)", + null + ], + "7": [ + "DICT", + [ + "age", + 38 + ], + [ + "name", + "Bob" + ] + ] + }, + "line": 14, + "event": "return" + }, + { + "ordered_globals": [ + "f1", + "f2", + "f3" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f1": [ + "REF", + 1 + ], + "f2": [ + "REF", + 4 + ], + "f3": [ + "REF", + 6 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f1(a, b, *rest)", + null + ], + "4": [ + "FUNCTION", + "f2(a, b, **kwrest)", + null + ], + "6": [ + "FUNCTION", + "f3(a, b, *rest, **kwrest)", + null + ] + }, + "line": 16, + "event": "return" + } + ] +} diff --git a/v3/example-code/varargs.txt b/v3/example-code/varargs.txt new file mode 100644 index 000000000..97da39bb9 --- /dev/null +++ b/v3/example-code/varargs.txt @@ -0,0 +1,16 @@ +# Demonstrate *args and **kwargs +def f1(a, b, *rest): + pass + +f1(1, 2) +f1(1, 2, 3, 4, 5, 6, 7) + +def f2(a, b, **kwrest): + pass + +f2(1, 2, name='Bob', age=38) + +def f3(a, b, *rest, **kwrest): + pass + +f3(1, 2, 3, 4, name='Bob', age=38) diff --git a/v3/example-code/wentworth_gcd.golden b/v3/example-code/wentworth_gcd.golden new file mode 100644 index 000000000..cc0273cb0 --- /dev/null +++ b/v3/example-code/wentworth_gcd.golden @@ -0,0 +1,3798 @@ +{ + "code": "# Tutorial code from Prof. Peter Wentworth\n# Rhodes University, South Africa (http://www.ru.ac.za/)\n\ndef gcd(x, y, depth=1):\n '''\n Find the greatest common divisor of x, y\n Pre: x >= y, y >= 0, both x and y are int\n '''\n result = x # set provisional return value\n if y != 0:\n indent = \"**\" * depth\n print((\"%s About to recursively call gcd(%d, %d)\" % (indent, y, x%y)))\n result = gcd(y, x % y, depth+1)\n print((\"%s result is %d\" % (indent, result)))\n return result\n\ndef main():\n m = 77\n n = 28\n print((\"Finding gcd(%d, %d)\" % (m,n)))\n g = gcd(m, n)\n print(('Greatest common divisor of %d, %d = %d'\n % (m, n, g)))\n\nmain()\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 25, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 17, + "event": "call" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 20, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 21, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "result": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "result": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "result": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "result": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "result": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "result": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 0, + "x": 7, + "depth": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f5", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 0, + "x": 7, + "depth": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f5", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 0, + "x": 7, + "depth": 4, + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f5", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 0, + "x": 7, + "depth": 4, + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f5", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 0, + "x": 7, + "depth": 4, + "result": 7, + "__return__": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f5", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "__return__" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "return" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "indent": "******", + "__return__": 7, + "depth": 3, + "result": 7, + "y": 7, + "x": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent", + "__return__" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "return" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "indent": "****", + "__return__": 7, + "depth": 2, + "result": 7, + "y": 21, + "x": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent", + "__return__" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "return" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "indent": "**", + "__return__": 7, + "depth": 1, + "result": 7, + "y": 28, + "x": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent", + "__return__" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "return" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n** result is 7\n", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "g": 7, + "n": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n", + "g" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n** result is 7\n", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "g": 7, + "n": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n", + "g" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 23, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n** result is 7\nGreatest common divisor of 77, 28 = 7\n", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "m": 77, + "g": 7, + "n": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n", + "g", + "__return__" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 23, + "event": "return" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n** result is 7\nGreatest common divisor of 77, 28 = 7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 25, + "event": "return" + } + ] +} diff --git a/v3/example-code/wentworth_gcd.golden_py3 b/v3/example-code/wentworth_gcd.golden_py3 new file mode 100644 index 000000000..cc0273cb0 --- /dev/null +++ b/v3/example-code/wentworth_gcd.golden_py3 @@ -0,0 +1,3798 @@ +{ + "code": "# Tutorial code from Prof. Peter Wentworth\n# Rhodes University, South Africa (http://www.ru.ac.za/)\n\ndef gcd(x, y, depth=1):\n '''\n Find the greatest common divisor of x, y\n Pre: x >= y, y >= 0, both x and y are int\n '''\n result = x # set provisional return value\n if y != 0:\n indent = \"**\" * depth\n print((\"%s About to recursively call gcd(%d, %d)\" % (indent, y, x%y)))\n result = gcd(y, x % y, depth+1)\n print((\"%s result is %d\" % (indent, result)))\n return result\n\ndef main():\n m = 77\n n = 28\n print((\"Finding gcd(%d, %d)\" % (m,n)))\n g = gcd(m, n)\n print(('Greatest common divisor of %d, %d = %d'\n % (m, n, g)))\n\nmain()\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 25, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 17, + "event": "call" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 20, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 21, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "result": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "result": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "result": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "result": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "result": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "result": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 0, + "x": 7, + "depth": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f5", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 0, + "x": 7, + "depth": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f5", + "ordered_varnames": [ + "x", + "y", + "depth" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 0, + "x": 7, + "depth": 4, + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f5", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 0, + "x": 7, + "depth": 4, + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f5", + "ordered_varnames": [ + "x", + "y", + "depth", + "result" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 21 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "y": 0, + "x": 7, + "depth": 4, + "result": 7, + "__return__": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f5", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "__return__" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "return" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": 7, + "x": 21, + "depth": 3, + "indent": "******", + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "indent": "******", + "__return__": 7, + "depth": 3, + "result": 7, + "y": 7, + "x": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f4", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent", + "__return__" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "return" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "y": 21, + "x": 28, + "depth": 2, + "indent": "****", + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 77 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "indent": "****", + "__return__": 7, + "depth": 2, + "result": 7, + "y": 21, + "x": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f3", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent", + "__return__" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "return" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 28, + "x": 77, + "depth": 1, + "indent": "**", + "result": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n** result is 7\n", + "func_name": "gcd", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "n": 28 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "indent": "**", + "__return__": 7, + "depth": 1, + "result": 7, + "y": 28, + "x": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gcd", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gcd_f2", + "ordered_varnames": [ + "x", + "y", + "depth", + "result", + "indent", + "__return__" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 15, + "event": "return" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n** result is 7\n", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "g": 7, + "n": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n", + "g" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n** result is 7\n", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "m": 77, + "g": 7, + "n": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n", + "g" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 23, + "event": "step_line" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n** result is 7\nGreatest common divisor of 77, 28 = 7\n", + "func_name": "main", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "m": 77, + "g": 7, + "n": 28 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "main", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "main_f1", + "ordered_varnames": [ + "m", + "n", + "g", + "__return__" + ] + } + ], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 23, + "event": "return" + }, + { + "ordered_globals": [ + "gcd", + "main" + ], + "stdout": "Finding gcd(77, 28)\n** About to recursively call gcd(28, 21)\n**** About to recursively call gcd(21, 7)\n****** About to recursively call gcd(7, 0)\n****** result is 7\n**** result is 7\n** result is 7\nGreatest common divisor of 77, 28 = 7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "main": [ + "REF", + 2 + ], + "gcd": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gcd(x, y, depth)", + null + ], + "2": [ + "FUNCTION", + "main()", + null + ] + }, + "line": 25, + "event": "return" + } + ] +} diff --git a/example-code/wentworth_gcd.txt b/v3/example-code/wentworth_gcd.txt similarity index 64% rename from example-code/wentworth_gcd.txt rename to v3/example-code/wentworth_gcd.txt index b9d544fbd..683beffc2 100644 --- a/example-code/wentworth_gcd.txt +++ b/v3/example-code/wentworth_gcd.txt @@ -9,18 +9,18 @@ def gcd(x, y, depth=1): result = x # set provisional return value if y != 0: indent = "**" * depth - print("%s About to recursively call gcd(%d, %d)" % (indent, y, x%y)) + print(("%s About to recursively call gcd(%d, %d)" % (indent, y, x%y))) result = gcd(y, x % y, depth+1) - print("%s result is %d" % (indent, result)) + print(("%s result is %d" % (indent, result))) return result def main(): m = 77 n = 28 - print("Finding gcd(%d, %d)" % (m,n)) + print(("Finding gcd(%d, %d)" % (m,n))) g = gcd(m, n) - print('Greatest common divisor of %d, %d = %d' - % (m, n, g)) + print(('Greatest common divisor of %d, %d = %d' + % (m, n, g))) main() diff --git a/v3/example-code/wentworth_sumList.golden b/v3/example-code/wentworth_sumList.golden new file mode 100644 index 000000000..8809705d3 --- /dev/null +++ b/v3/example-code/wentworth_sumList.golden @@ -0,0 +1,4520 @@ +{ + "code": "# Tutorial code from Prof. Peter Wentworth\n# Rhodes University, South Africa (http://www.ru.ac.za/)\n\ndef sumList(xs):\n '''\n Sum a list that can contain nested lists.\n Precondition: All leaf elements are numbers.\n '''\n sum = 0\n for e in xs:\n if type(e) is list:\n print((\"Calling sumList(%s) recursively\" % e))\n v = sumList(e)\n print((\"sumList(%s) returned %s\" % (e, v)))\n sum += v\n else:\n sum += e\n return sum\n\n\ntestData = [10, [20, 30, [40], 50], 60]\nprint((\"Calling sumList(%s)\" % testData))\nresult = sumList(testData)\nprint((\"Final sum of all numbers in initial list is %s\" % result))\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ] + }, + "line": 21, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 23, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 0, + "e": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 0, + "e": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 0, + "e": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 0, + "e": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 20, + "e": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 20, + "e": 30 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 20, + "e": 30 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": 30 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ], + "sum": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs", + "sum" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ], + "sum": 0, + "e": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ], + "sum": 0, + "e": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ], + "sum": 40, + "e": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ], + "sum": 40, + "e": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 40, + "xs": [ + "REF", + 4 + ], + "sum": 40, + "e": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs", + "sum", + "e", + "__return__" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ], + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ], + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 90, + "e": [ + "REF", + 4 + ], + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 90, + "e": 50, + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 90, + "e": 50, + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 140, + "e": 50, + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 140, + "e": 50, + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 140, + "xs": [ + "REF", + 3 + ], + "sum": 140, + "e": 50, + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v", + "__return__" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ], + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ], + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 150, + "e": [ + "REF", + 3 + ], + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 150, + "e": 60, + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 150, + "e": 60, + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 210, + "e": 60, + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 210, + "e": 60, + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 210, + "xs": [ + "REF", + 2 + ], + "sum": 210, + "e": 60, + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v", + "__return__" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sumList", + "testData", + "result" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "testData": [ + "REF", + 2 + ], + "result": 210, + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 24, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData", + "result" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\nFinal sum of all numbers in initial list is 210\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "testData": [ + "REF", + 2 + ], + "result": 210, + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 24, + "event": "return" + } + ] +} diff --git a/v3/example-code/wentworth_sumList.golden_py3 b/v3/example-code/wentworth_sumList.golden_py3 new file mode 100644 index 000000000..8809705d3 --- /dev/null +++ b/v3/example-code/wentworth_sumList.golden_py3 @@ -0,0 +1,4520 @@ +{ + "code": "# Tutorial code from Prof. Peter Wentworth\n# Rhodes University, South Africa (http://www.ru.ac.za/)\n\ndef sumList(xs):\n '''\n Sum a list that can contain nested lists.\n Precondition: All leaf elements are numbers.\n '''\n sum = 0\n for e in xs:\n if type(e) is list:\n print((\"Calling sumList(%s) recursively\" % e))\n v = sumList(e)\n print((\"sumList(%s) returned %s\" % (e, v)))\n sum += v\n else:\n sum += e\n return sum\n\n\ntestData = [10, [20, 30, [40], 50], 60]\nprint((\"Calling sumList(%s)\" % testData))\nresult = sumList(testData)\nprint((\"Final sum of all numbers in initial list is %s\" % result))\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ] + }, + "line": 21, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 23, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 0, + "e": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 0, + "e": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 0, + "e": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 0, + "e": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 20, + "e": 20 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 20, + "e": 30 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 20, + "e": 30 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": 30 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ], + "sum": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs", + "sum" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ], + "sum": 0, + "e": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ], + "sum": 0, + "e": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ], + "sum": 40, + "e": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "xs": [ + "REF", + 4 + ], + "sum": 40, + "e": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 40, + "xs": [ + "REF", + 4 + ], + "sum": 40, + "e": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f3", + "ordered_varnames": [ + "xs", + "sum", + "e", + "__return__" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ], + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 50, + "e": [ + "REF", + 4 + ], + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 90, + "e": [ + "REF", + 4 + ], + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 90, + "e": 50, + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 90, + "e": 50, + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 140, + "e": 50, + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 3 + ], + "sum": 140, + "e": 50, + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 140, + "xs": [ + "REF", + 3 + ], + "sum": 140, + "e": 50, + "v": 40 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f2", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v", + "__return__" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ], + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 10, + "e": [ + "REF", + 3 + ], + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 150, + "e": [ + "REF", + 3 + ], + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 150, + "e": 60, + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 150, + "e": 60, + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 210, + "e": 60, + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ], + "sum": 210, + "e": 60, + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "sumList", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 210, + "xs": [ + "REF", + 2 + ], + "sum": 210, + "e": 60, + "v": 140 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumList", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumList_f1", + "ordered_varnames": [ + "xs", + "sum", + "e", + "v", + "__return__" + ] + } + ], + "globals": { + "testData": [ + "REF", + 2 + ], + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 18, + "event": "return" + }, + { + "ordered_globals": [ + "sumList", + "testData", + "result" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "testData": [ + "REF", + 2 + ], + "result": 210, + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 24, + "event": "step_line" + }, + { + "ordered_globals": [ + "sumList", + "testData", + "result" + ], + "stdout": "Calling sumList([10, [20, 30, [40], 50], 60])\nCalling sumList([20, 30, [40], 50]) recursively\nCalling sumList([40]) recursively\nsumList([40]) returned 40\nsumList([20, 30, [40], 50]) returned 140\nFinal sum of all numbers in initial list is 210\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "testData": [ + "REF", + 2 + ], + "result": 210, + "sumList": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "sumList(xs)", + null + ], + "2": [ + "LIST", + 10, + [ + "REF", + 3 + ], + 60 + ], + "3": [ + "LIST", + 20, + 30, + [ + "REF", + 4 + ], + 50 + ], + "4": [ + "LIST", + 40 + ] + }, + "line": 24, + "event": "return" + } + ] +} diff --git a/example-code/wentworth_sumList.txt b/v3/example-code/wentworth_sumList.txt similarity index 66% rename from example-code/wentworth_sumList.txt rename to v3/example-code/wentworth_sumList.txt index e286c2d69..30727f674 100644 --- a/example-code/wentworth_sumList.txt +++ b/v3/example-code/wentworth_sumList.txt @@ -9,9 +9,9 @@ def sumList(xs): sum = 0 for e in xs: if type(e) is list: - print("Calling sumList(%s) recursively" % e) + print(("Calling sumList(%s) recursively" % e)) v = sumList(e) - print("sumList(%s) returned %s" % (e, v)) + print(("sumList(%s) returned %s" % (e, v))) sum += v else: sum += e @@ -19,7 +19,7 @@ def sumList(xs): testData = [10, [20, 30, [40], 50], 60] -print("Calling sumList(%s)" % testData) +print(("Calling sumList(%s)" % testData)) result = sumList(testData) -print("Final sum of all numbers in initial list is %s" % result) +print(("Final sum of all numbers in initial list is %s" % result)) diff --git a/v3/example-code/wentworth_try_finally.golden b/v3/example-code/wentworth_try_finally.golden new file mode 100644 index 000000000..f305d1d32 --- /dev/null +++ b/v3/example-code/wentworth_try_finally.golden @@ -0,0 +1,2823 @@ +{ + "code": "# Tutorial code from Prof. Peter Wentworth\n# Rhodes University, South Africa (http://www.ru.ac.za/)\n\n# Demonstrate recursion that throws an exception\n# at its base case, and the tracing of try ... finally.\n#\n# How many \"survived!\" messages will be printed???\n\ndef f(n):\n try:\n x = 10 / n\n print(\"x is \" + str(x))\n f(n-1)\n print(\"survived!\")\n finally:\n print(\"Bye from f where n = \" + str(n))\n\nf(4)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10, + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10, + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10, + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\n", + "exception_msg": "ZeroDivisionError: integer division or modulo by zero", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10, + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 11, + "event": "exception" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10, + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10, + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": null, + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f5", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\n", + "exception_msg": "ZeroDivisionError: integer division or modulo by zero", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "exception" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\nBye from f where n = 1\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": null, + "x": 10, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\nBye from f where n = 1\n", + "exception_msg": "ZeroDivisionError: integer division or modulo by zero", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "exception" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\nBye from f where n = 1\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": null, + "x": 5, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\n", + "exception_msg": "ZeroDivisionError: integer division or modulo by zero", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "exception" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\nBye from f where n = 3\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": null, + "x": 3, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\nBye from f where n = 3\n", + "exception_msg": "ZeroDivisionError: integer division or modulo by zero", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "exception" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\nBye from f where n = 3\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\nBye from f where n = 3\nBye from f where n = 4\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "x": 2, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2\nx is 3\nx is 5\nx is 10\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\nBye from f where n = 3\nBye from f where n = 4\n", + "exception_msg": "ZeroDivisionError: integer division or modulo by zero", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 18, + "event": "exception" + } + ] +} diff --git a/v3/example-code/wentworth_try_finally.golden_py3 b/v3/example-code/wentworth_try_finally.golden_py3 new file mode 100644 index 000000000..881592050 --- /dev/null +++ b/v3/example-code/wentworth_try_finally.golden_py3 @@ -0,0 +1,2823 @@ +{ + "code": "# Tutorial code from Prof. Peter Wentworth\n# Rhodes University, South Africa (http://www.ru.ac.za/)\n\n# Demonstrate recursion that throws an exception\n# at its base case, and the tracing of try ... finally.\n#\n# How many \"survived!\" messages will be printed???\n\ndef f(n):\n try:\n x = 10 / n\n print(\"x is \" + str(x))\n f(n-1)\n print(\"survived!\")\n finally:\n print(\"Bye from f where n = \" + str(n))\n\nf(4)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10.000, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10.000, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10.000, + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10.000, + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10.000, + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\n", + "exception_msg": "ZeroDivisionError: division by zero", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10.000, + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 11, + "event": "exception" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10.000, + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f5", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10.000, + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": null, + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f5", + "ordered_varnames": [ + "n", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\n", + "exception_msg": "ZeroDivisionError: division by zero", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10.000, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "exception" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 10.000, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\nBye from f where n = 1\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": null, + "x": 10.000, + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f4", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\nBye from f where n = 1\n", + "exception_msg": "ZeroDivisionError: division by zero", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "exception" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\nBye from f where n = 1\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 5.000, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": null, + "x": 5.000, + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f3", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\n", + "exception_msg": "ZeroDivisionError: division by zero", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "exception" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3.333, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\nBye from f where n = 3\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": null, + "x": 3.333, + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f2", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\nBye from f where n = 3\n", + "exception_msg": "ZeroDivisionError: division by zero", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 13, + "event": "exception" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\nBye from f where n = 3\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 2.500, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\nBye from f where n = 3\nBye from f where n = 4\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "x": 2.500, + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "n", + "x", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 16, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "x is 2.5\nx is 3.3333333333333335\nx is 5.0\nx is 10.0\nBye from f where n = 0\nBye from f where n = 1\nBye from f where n = 2\nBye from f where n = 3\nBye from f where n = 4\n", + "exception_msg": "ZeroDivisionError: division by zero", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(n)", + null + ] + }, + "line": 18, + "event": "exception" + } + ] +} diff --git a/example-code/wentworth_try_finally.txt b/v3/example-code/wentworth_try_finally.txt similarity index 75% rename from example-code/wentworth_try_finally.txt rename to v3/example-code/wentworth_try_finally.txt index daab5e33c..b6617fa56 100644 --- a/example-code/wentworth_try_finally.txt +++ b/v3/example-code/wentworth_try_finally.txt @@ -9,10 +9,10 @@ def f(n): try: x = 10 / n - print "x is", x + print("x is " + str(x)) f(n-1) - print "survived!" + print("survived!") finally: - print "Bye from f where n =", n + print("Bye from f where n = " + str(n)) f(4) diff --git a/v3/favicon.ico b/v3/favicon.ico new file mode 100644 index 000000000..c9efc5844 Binary files /dev/null and b/v3/favicon.ico differ diff --git a/v3/generate_json_trace.py b/v3/generate_json_trace.py new file mode 100644 index 000000000..08f44bb46 --- /dev/null +++ b/v3/generate_json_trace.py @@ -0,0 +1,40 @@ +# Generates a JSON trace that is compatible with the js/pytutor.js frontend + +import sys, pg_logger, json +from optparse import OptionParser + +# To make regression tests work consistently across platforms, +# standardize display of floats to 3 significant figures +# +# Trick from: +# http://stackoverflow.com/questions/1447287/format-floats-with-standard-json-module +json.encoder.FLOAT_REPR = lambda f: ('%.3f' % f) + +def json_finalizer(input_code, output_trace): + ret = dict(code=input_code, trace=output_trace) + json_output = json.dumps(ret, indent=INDENT_LEVEL) + return json_output + +def js_var_finalizer(input_code, output_trace): + global JS_VARNAME + ret = dict(code=input_code, trace=output_trace) + json_output = json.dumps(ret, indent=None) + return "var %s = %s;" % (JS_VARNAME, json_output) + +parser = OptionParser(usage="Generate JSON trace for pytutor") +parser.add_option('-c', '--cumulative', default=False, action='store_true', + help='output cumulative trace.') +parser.add_option('-o', '--compact', default=False, action='store_true', + help='output compact trace.') +parser.add_option("--create_jsvar", dest="js_varname", + help="Create a JavaScript variable out of the trace") +(options, args) = parser.parse_args() +INDENT_LEVEL = None if options.compact else 2 + +fin = sys.stdin if args[0] == "-" else open(args[0]) + +if options.js_varname: + JS_VARNAME = options.js_varname + print(pg_logger.exec_script_str_local(fin.read(), options.cumulative, js_var_finalizer)) +else: + print(pg_logger.exec_script_str_local(fin.read(), options.cumulative, json_finalizer)) diff --git a/v3/iframe-embed-demo.html b/v3/iframe-embed-demo.html new file mode 100644 index 000000000..97f95ec5f --- /dev/null +++ b/v3/iframe-embed-demo.html @@ -0,0 +1,21 @@ + + + + + Online Python Tutor - iframe embed demo + + + + + + +

+ + + +

+ + + + + diff --git a/v3/iframe-embed.html b/v3/iframe-embed.html new file mode 100644 index 000000000..cde799372 --- /dev/null +++ b/v3/iframe-embed.html @@ -0,0 +1,30 @@ + + + + + Online Python Tutor - iframe embed page + + + + + + + + + + + + + + + + + + + + +

+ + + diff --git a/v3/index.html b/v3/index.html new file mode 100644 index 000000000..ea93033f1 --- /dev/null +++ b/v3/index.html @@ -0,0 +1,241 @@ + + + + + + + +Online Python Tutor - Learn programming by visualizing code execution + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ +
+ +

LEARN programming by visualizing code execution

+ + + + +

Online Python Tutor is a +free educational tool that helps students overcome a fundamental +barrier to learning programming: understanding what happens as the +computer executes each line of a program's source code. Using this +tool, a teacher or student can write a Python program directly in the web +browser and visualize what the computer is doing step-by-step as it +executes the program.

+ +

For example, I wrote the following Python program to recursively +find the sum of a linked list of numbers. Click the +“Forward” button to see what happens as the computer +executes one line of code at a time.

+ +
+ +

So far, over 100,000 people have used Online Python Tutor to +understand and debug their programs, often as a supplement to learning +from textbooks, lecture notes, and online programming tutorials.

+ +

In addition, instructors in over a dozen universities such as MIT, UC +Berkeley, UC Davis, Sonoma State University, the University of +Washington, the University of Waterloo, Luther College, and Swarthmore +College have used it for teaching introductory computer science and +programming courses.

+ +

Watch a +video demo and interview with the instructor of UC Berkeley's +introductory CS course.

+ +

+But this is just the beginning. We are actively seeking partnerships with +educators at all grade levels to deploy and improve this tool. Email +philip@pgbovine.net if you are interested in collaborating. +

+ + + +
+ +
+ + + + + + + +
+ +
+ +

EMBED visualizations in digital textbooks

+ +

Using a single line of JavaScript code, you can embed an Online Python Tutor +visualization within your web page (as shown in the “Learn” +box above). The screenshot below shows a few of these visualizations +embedded within the online textbook for the introductory CS course at UC +Berkeley (CS61A): + +

+ + + + +

+ +These visualizations have also been embedded within two other web-based +Python textbook projects: How +to Think Like a Computer Scientist: Interactive Edition and Computer Science Circles. +These textbooks collectively attract around 16,000 unique viewers per +month and are being used in at least 25 universities around the world. + +

+ +
+ +
+ +
+ +

SHARE visualizations online

+ +

To share your current visualization, click the “Generate +URL” button (at the bottom of this +page) and paste that URL link in an email, social networking +post, or forum question. When recipients click on that link, they will +see your exact visualization. This feature is a more effective way for +students to seek assistance than copying-and-pasting code snippets.

+ +

For example, clicking this +link brings you directly to step 44 of 57 in a program that finds +prime numbers using the Python for-else construct.

+ +

In the near future, we plan to add an online authoring environment so +that you can save code examples and then create annotations, +discussion threads, lessons, and interactive exercises on top of your +visualizations.

+ +
+ + +
+ +

+More Details: +

    + +
  • Online Python Tutor supports Python 2.7 and 3.2, hosted on either + a CGI-capable web server or on Google App Engine + +
  • Main technologies: Python with bdb for the + backend; HTML/CSS/JavaScript with jQuery, D3.js, jsPlumb, and CodeMirror for the frontend + +
  • Free, open-source BSD-licensed code on GitHub + +
  • Want to help out? We have ideas for student thesis projects or + for anyone else who loves to hack. Email philip@pgbovine.net for + more info. + +
+

+ +
+ +
+ +
+ + + + + + + diff --git a/v3/js/codemirror/codemirror.js b/v3/js/codemirror/codemirror.js new file mode 100644 index 000000000..ff0aa64be --- /dev/null +++ b/v3/js/codemirror/codemirror.js @@ -0,0 +1,3237 @@ +// CodeMirror version 2.33 +// +// All functions that need access to the editor's state live inside +// the CodeMirror function. Below that, at the bottom of the file, +// some utilities are defined. + +// CodeMirror is the only global var we claim +window.CodeMirror = (function() { + "use strict"; + // This is the function that produces an editor instance. Its + // closure is used to store the editor state. + function CodeMirror(place, givenOptions) { + // Determine effective options based on given values and defaults. + var options = {}, defaults = CodeMirror.defaults; + for (var opt in defaults) + if (defaults.hasOwnProperty(opt)) + options[opt] = (givenOptions && givenOptions.hasOwnProperty(opt) ? givenOptions : defaults)[opt]; + + var input = elt("textarea", null, null, "position: absolute; padding: 0; width: 1px; height: 1em"); + input.setAttribute("wrap", "off"); input.setAttribute("autocorrect", "off"); input.setAttribute("autocapitalize", "off"); + // Wraps and hides input textarea + var inputDiv = elt("div", [input], null, "overflow: hidden; position: relative; width: 3px; height: 0px;"); + // The empty scrollbar content, used solely for managing the scrollbar thumb. + var scrollbarInner = elt("div", null, "CodeMirror-scrollbar-inner"); + // The vertical scrollbar. Horizontal scrolling is handled by the scroller itself. + var scrollbar = elt("div", [scrollbarInner], "CodeMirror-scrollbar"); + // DIVs containing the selection and the actual code + var lineDiv = elt("div"), selectionDiv = elt("div", null, null, "position: relative; z-index: -1"); + // Blinky cursor, and element used to ensure cursor fits at the end of a line + var cursor = elt("pre", "\u00a0", "CodeMirror-cursor"), widthForcer = elt("pre", "\u00a0", "CodeMirror-cursor", "visibility: hidden"); + // Used to measure text size + var measure = elt("div", null, null, "position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"); + var lineSpace = elt("div", [measure, cursor, widthForcer, selectionDiv, lineDiv], null, "position: relative; z-index: 0"); + var gutterText = elt("div", null, "CodeMirror-gutter-text"), gutter = elt("div", [gutterText], "CodeMirror-gutter"); + // Moved around its parent to cover visible view + var mover = elt("div", [gutter, elt("div", [lineSpace], "CodeMirror-lines")], null, "position: relative"); + // Set to the height of the text, causes scrolling + var sizer = elt("div", [mover], null, "position: relative"); + // Provides scrolling + var scroller = elt("div", [sizer], "CodeMirror-scroll"); + scroller.setAttribute("tabIndex", "-1"); + // The element in which the editor lives. + var wrapper = elt("div", [inputDiv, scrollbar, scroller], "CodeMirror" + (options.lineWrapping ? " CodeMirror-wrap" : "")); + if (place.appendChild) place.appendChild(wrapper); else place(wrapper); + + themeChanged(); keyMapChanged(); + // Needed to hide big blue blinking cursor on Mobile Safari + if (ios) input.style.width = "0px"; + if (!webkit) scroller.draggable = true; + lineSpace.style.outline = "none"; + if (options.tabindex != null) input.tabIndex = options.tabindex; + if (options.autofocus) focusInput(); + if (!options.gutter && !options.lineNumbers) gutter.style.display = "none"; + // Needed to handle Tab key in KHTML + if (khtml) inputDiv.style.height = "1px", inputDiv.style.position = "absolute"; + + // Check for OS X >= 10.7. This has transparent scrollbars, so the + // overlaying of one scrollbar with another won't work. This is a + // temporary hack to simply turn off the overlay scrollbar. See + // issue #727. + if (mac_geLion) { scrollbar.style.zIndex = -2; scrollbar.style.visibility = "hidden"; } + // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8). + else if (ie_lt8) scrollbar.style.minWidth = "18px"; + + // Check for problem with IE innerHTML not working when we have a + // P (or similar) parent node. + try { charWidth(); } + catch (e) { + if (e.message.match(/runtime/i)) + e = new Error("A CodeMirror inside a P-style element does not work in Internet Explorer. (innerHTML bug)"); + throw e; + } + + // Delayed object wrap timeouts, making sure only one is active. blinker holds an interval. + var poll = new Delayed(), highlight = new Delayed(), blinker; + + // mode holds a mode API object. doc is the tree of Line objects, + // work an array of lines that should be parsed, and history the + // undo history (instance of History constructor). + var mode, doc = new BranchChunk([new LeafChunk([new Line("")])]), work, focused; + loadMode(); + // The selection. These are always maintained to point at valid + // positions. Inverted is used to remember that the user is + // selecting bottom-to-top. + var sel = {from: {line: 0, ch: 0}, to: {line: 0, ch: 0}, inverted: false}; + // Selection-related flags. shiftSelecting obviously tracks + // whether the user is holding shift. + var shiftSelecting, lastClick, lastDoubleClick, lastScrollTop = 0, draggingText, + overwrite = false, suppressEdits = false; + // Variables used by startOperation/endOperation to track what + // happened during the operation. + var updateInput, userSelChange, changes, textChanged, selectionChanged, leaveInputAlone, + gutterDirty, callbacks; + // Current visible range (may be bigger than the view window). + var displayOffset = 0, showingFrom = 0, showingTo = 0, lastSizeC = 0; + // bracketHighlighted is used to remember that a bracket has been + // marked. + var bracketHighlighted; + // Tracks the maximum line length so that the horizontal scrollbar + // can be kept static when scrolling. + var maxLine = getLine(0), updateMaxLine = false, maxLineChanged = true; + var tabCache = {}; + var pollingFast = false; // Ensures slowPoll doesn't cancel fastPoll + var goalColumn = null; + + // Initialize the content. + operation(function(){setValue(options.value || ""); updateInput = false;})(); + var history = new History(); + + // Register our event handlers. + connect(scroller, "mousedown", operation(onMouseDown)); + connect(scroller, "dblclick", operation(onDoubleClick)); + connect(lineSpace, "selectstart", e_preventDefault); + // Gecko browsers fire contextmenu *after* opening the menu, at + // which point we can't mess with it anymore. Context menu is + // handled in onMouseDown for Gecko. + if (!gecko) connect(scroller, "contextmenu", onContextMenu); + connect(scroller, "scroll", onScrollMain); + connect(scrollbar, "scroll", onScrollBar); + connect(scrollbar, "mousedown", function() {if (focused) setTimeout(focusInput, 0);}); + var resizeHandler = connect(window, "resize", function() { + if (wrapper.parentNode) updateDisplay(true); + else resizeHandler(); + }, true); + connect(input, "keyup", operation(onKeyUp)); + connect(input, "input", fastPoll); + connect(input, "keydown", operation(onKeyDown)); + connect(input, "keypress", operation(onKeyPress)); + connect(input, "focus", onFocus); + connect(input, "blur", onBlur); + + function drag_(e) { + if (options.onDragEvent && options.onDragEvent(instance, addStop(e))) return; + e_stop(e); + } + if (options.dragDrop) { + connect(scroller, "dragstart", onDragStart); + connect(scroller, "dragenter", drag_); + connect(scroller, "dragover", drag_); + connect(scroller, "drop", operation(onDrop)); + } + connect(scroller, "paste", function(){focusInput(); fastPoll();}); + connect(input, "paste", fastPoll); + connect(input, "cut", operation(function(){ + if (!options.readOnly) replaceSelection(""); + })); + + // Needed to handle Tab key in KHTML + if (khtml) connect(sizer, "mouseup", function() { + if (document.activeElement == input) input.blur(); + focusInput(); + }); + + // IE throws unspecified error in certain cases, when + // trying to access activeElement before onload + var hasFocus; try { hasFocus = (document.activeElement == input); } catch(e) { } + if (hasFocus || options.autofocus) setTimeout(onFocus, 20); + else onBlur(); + + function isLine(l) {return l >= 0 && l < doc.size;} + // The instance object that we'll return. Mostly calls out to + // local functions in the CodeMirror function. Some do some extra + // range checking and/or clipping. operation is used to wrap the + // call so that changes it makes are tracked, and the display is + // updated afterwards. + var instance = wrapper.CodeMirror = { + getValue: getValue, + setValue: operation(setValue), + getSelection: getSelection, + replaceSelection: operation(replaceSelection), + focus: function(){window.focus(); focusInput(); onFocus(); fastPoll();}, + setOption: function(option, value) { + var oldVal = options[option]; + options[option] = value; + if (option == "mode" || option == "indentUnit") loadMode(); + else if (option == "readOnly" && value == "nocursor") {onBlur(); input.blur();} + else if (option == "readOnly" && !value) {resetInput(true);} + else if (option == "theme") themeChanged(); + else if (option == "lineWrapping" && oldVal != value) operation(wrappingChanged)(); + else if (option == "tabSize") updateDisplay(true); + else if (option == "keyMap") keyMapChanged(); + if (option == "lineNumbers" || option == "gutter" || option == "firstLineNumber" || + option == "theme" || option == "lineNumberFormatter") { + gutterChanged(); + updateDisplay(true); + } + }, + getOption: function(option) {return options[option];}, + undo: operation(undo), + redo: operation(redo), + indentLine: operation(function(n, dir) { + if (typeof dir != "string") { + if (dir == null) dir = options.smartIndent ? "smart" : "prev"; + else dir = dir ? "add" : "subtract"; + } + if (isLine(n)) indentLine(n, dir); + }), + indentSelection: operation(indentSelected), + historySize: function() {return {undo: history.done.length, redo: history.undone.length};}, + clearHistory: function() {history = new History();}, + setHistory: function(histData) { + history = new History(); + history.done = histData.done; + history.undone = histData.undone; + }, + getHistory: function() { + history.time = 0; + return {done: history.done.concat([]), undone: history.undone.concat([])}; + }, + matchBrackets: operation(function(){matchBrackets(true);}), + getTokenAt: operation(function(pos) { + pos = clipPos(pos); + return getLine(pos.line).getTokenAt(mode, getStateBefore(pos.line), options.tabSize, pos.ch); + }), + getStateAfter: function(line) { + line = clipLine(line == null ? doc.size - 1: line); + return getStateBefore(line + 1); + }, + cursorCoords: function(start, mode) { + if (start == null) start = sel.inverted; + return this.charCoords(start ? sel.from : sel.to, mode); + }, + charCoords: function(pos, mode) { + pos = clipPos(pos); + if (mode == "local") return localCoords(pos, false); + if (mode == "div") return localCoords(pos, true); + return pageCoords(pos); + }, + coordsChar: function(coords) { + var off = eltOffset(lineSpace); + return coordsChar(coords.x - off.left, coords.y - off.top); + }, + markText: operation(markText), + setBookmark: setBookmark, + findMarksAt: findMarksAt, + setMarker: operation(addGutterMarker), + clearMarker: operation(removeGutterMarker), + setLineClass: operation(setLineClass), + hideLine: operation(function(h) {return setLineHidden(h, true);}), + showLine: operation(function(h) {return setLineHidden(h, false);}), + onDeleteLine: function(line, f) { + if (typeof line == "number") { + if (!isLine(line)) return null; + line = getLine(line); + } + (line.handlers || (line.handlers = [])).push(f); + return line; + }, + lineInfo: lineInfo, + getViewport: function() { return {from: showingFrom, to: showingTo};}, + addWidget: function(pos, node, scroll, vert, horiz) { + pos = localCoords(clipPos(pos)); + var top = pos.yBot, left = pos.x; + node.style.position = "absolute"; + sizer.appendChild(node); + if (vert == "over") top = pos.y; + else if (vert == "near") { + var vspace = Math.max(scroller.offsetHeight, doc.height * textHeight()), + hspace = Math.max(sizer.clientWidth, lineSpace.clientWidth) - paddingLeft(); + if (pos.yBot + node.offsetHeight > vspace && pos.y > node.offsetHeight) + top = pos.y - node.offsetHeight; + if (left + node.offsetWidth > hspace) + left = hspace - node.offsetWidth; + } + node.style.top = (top + paddingTop()) + "px"; + node.style.left = node.style.right = ""; + if (horiz == "right") { + left = sizer.clientWidth - node.offsetWidth; + node.style.right = "0px"; + } else { + if (horiz == "left") left = 0; + else if (horiz == "middle") left = (sizer.clientWidth - node.offsetWidth) / 2; + node.style.left = (left + paddingLeft()) + "px"; + } + if (scroll) + scrollIntoView(left, top, left + node.offsetWidth, top + node.offsetHeight); + }, + + lineCount: function() {return doc.size;}, + clipPos: clipPos, + getCursor: function(start) { + if (start == null) start = sel.inverted; + return copyPos(start ? sel.from : sel.to); + }, + somethingSelected: function() {return !posEq(sel.from, sel.to);}, + setCursor: operation(function(line, ch, user) { + if (ch == null && typeof line.line == "number") setCursor(line.line, line.ch, user); + else setCursor(line, ch, user); + }), + setSelection: operation(function(from, to, user) { + (user ? setSelectionUser : setSelection)(clipPos(from), clipPos(to || from)); + }), + getLine: function(line) {if (isLine(line)) return getLine(line).text;}, + getLineHandle: function(line) {if (isLine(line)) return getLine(line);}, + setLine: operation(function(line, text) { + if (isLine(line)) replaceRange(text, {line: line, ch: 0}, {line: line, ch: getLine(line).text.length}); + }), + removeLine: operation(function(line) { + if (isLine(line)) replaceRange("", {line: line, ch: 0}, clipPos({line: line+1, ch: 0})); + }), + replaceRange: operation(replaceRange), + getRange: function(from, to, lineSep) {return getRange(clipPos(from), clipPos(to), lineSep);}, + + triggerOnKeyDown: operation(onKeyDown), + execCommand: function(cmd) {return commands[cmd](instance);}, + // Stuff used by commands, probably not much use to outside code. + moveH: operation(moveH), + deleteH: operation(deleteH), + moveV: operation(moveV), + toggleOverwrite: function() { + if(overwrite){ + overwrite = false; + cursor.className = cursor.className.replace(" CodeMirror-overwrite", ""); + } else { + overwrite = true; + cursor.className += " CodeMirror-overwrite"; + } + }, + + posFromIndex: function(off) { + var lineNo = 0, ch; + doc.iter(0, doc.size, function(line) { + var sz = line.text.length + 1; + if (sz > off) { ch = off; return true; } + off -= sz; + ++lineNo; + }); + return clipPos({line: lineNo, ch: ch}); + }, + indexFromPos: function (coords) { + if (coords.line < 0 || coords.ch < 0) return 0; + var index = coords.ch; + doc.iter(0, coords.line, function (line) { + index += line.text.length + 1; + }); + return index; + }, + scrollTo: function(x, y) { + if (x != null) scroller.scrollLeft = x; + if (y != null) scrollbar.scrollTop = scroller.scrollTop = y; + updateDisplay([]); + }, + getScrollInfo: function() { + return {x: scroller.scrollLeft, y: scrollbar.scrollTop, + height: scrollbar.scrollHeight, width: scroller.scrollWidth}; + }, + setSize: function(width, height) { + function interpret(val) { + val = String(val); + return /^\d+$/.test(val) ? val + "px" : val; + } + if (width != null) wrapper.style.width = interpret(width); + if (height != null) scroller.style.height = interpret(height); + instance.refresh(); + }, + + operation: function(f){return operation(f)();}, + compoundChange: function(f){return compoundChange(f);}, + refresh: function(){ + updateDisplay(true, null, lastScrollTop); + if (scrollbar.scrollHeight > lastScrollTop) + scrollbar.scrollTop = lastScrollTop; + }, + getInputField: function(){return input;}, + getWrapperElement: function(){return wrapper;}, + getScrollerElement: function(){return scroller;}, + getGutterElement: function(){return gutter;} + }; + + function getLine(n) { return getLineAt(doc, n); } + function updateLineHeight(line, height) { + gutterDirty = true; + var diff = height - line.height; + for (var n = line; n; n = n.parent) n.height += diff; + } + + function setValue(code) { + var top = {line: 0, ch: 0}; + updateLines(top, {line: doc.size - 1, ch: getLine(doc.size-1).text.length}, + splitLines(code), top, top); + updateInput = true; + } + function getValue(lineSep) { + var text = []; + doc.iter(0, doc.size, function(line) { text.push(line.text); }); + return text.join(lineSep || "\n"); + } + + function onScrollBar(e) { + if (scrollbar.scrollTop != lastScrollTop) { + lastScrollTop = scroller.scrollTop = scrollbar.scrollTop; + updateDisplay([]); + } + } + + function onScrollMain(e) { + if (options.fixedGutter && gutter.style.left != scroller.scrollLeft + "px") + gutter.style.left = scroller.scrollLeft + "px"; + if (scroller.scrollTop != lastScrollTop) { + lastScrollTop = scroller.scrollTop; + if (scrollbar.scrollTop != lastScrollTop) + scrollbar.scrollTop = lastScrollTop; + updateDisplay([]); + } + if (options.onScroll) options.onScroll(instance); + } + + function onMouseDown(e) { + setShift(e_prop(e, "shiftKey")); + // Check whether this is a click in a widget + for (var n = e_target(e); n != wrapper; n = n.parentNode) + if (n.parentNode == sizer && n != mover) return; + + // See if this is a click in the gutter + for (var n = e_target(e); n != wrapper; n = n.parentNode) + if (n.parentNode == gutterText) { + if (options.onGutterClick) + options.onGutterClick(instance, indexOf(gutterText.childNodes, n) + showingFrom, e); + return e_preventDefault(e); + } + + var start = posFromMouse(e); + + switch (e_button(e)) { + case 3: + if (gecko) onContextMenu(e); + return; + case 2: + if (start) setCursor(start.line, start.ch, true); + setTimeout(focusInput, 20); + e_preventDefault(e); + return; + } + // For button 1, if it was clicked inside the editor + // (posFromMouse returning non-null), we have to adjust the + // selection. + if (!start) {if (e_target(e) == scroller) e_preventDefault(e); return;} + + if (!focused) onFocus(); + + var now = +new Date, type = "single"; + if (lastDoubleClick && lastDoubleClick.time > now - 400 && posEq(lastDoubleClick.pos, start)) { + type = "triple"; + e_preventDefault(e); + setTimeout(focusInput, 20); + selectLine(start.line); + } else if (lastClick && lastClick.time > now - 400 && posEq(lastClick.pos, start)) { + type = "double"; + lastDoubleClick = {time: now, pos: start}; + e_preventDefault(e); + var word = findWordAt(start); + setSelectionUser(word.from, word.to); + } else { lastClick = {time: now, pos: start}; } + + function dragEnd(e2) { + if (webkit) scroller.draggable = false; + draggingText = false; + up(); drop(); + if (Math.abs(e.clientX - e2.clientX) + Math.abs(e.clientY - e2.clientY) < 10) { + e_preventDefault(e2); + setCursor(start.line, start.ch, true); + focusInput(); + } + } + var last = start, going; + if (options.dragDrop && dragAndDrop && !options.readOnly && !posEq(sel.from, sel.to) && + !posLess(start, sel.from) && !posLess(sel.to, start) && type == "single") { + // Let the drag handler handle this. + if (webkit) scroller.draggable = true; + var up = connect(document, "mouseup", operation(dragEnd), true); + var drop = connect(scroller, "drop", operation(dragEnd), true); + draggingText = true; + // IE's approach to draggable + if (scroller.dragDrop) scroller.dragDrop(); + return; + } + e_preventDefault(e); + if (type == "single") setCursor(start.line, start.ch, true); + + var startstart = sel.from, startend = sel.to; + + function doSelect(cur) { + if (type == "single") { + setSelectionUser(start, cur); + } else if (type == "double") { + var word = findWordAt(cur); + if (posLess(cur, startstart)) setSelectionUser(word.from, startend); + else setSelectionUser(startstart, word.to); + } else if (type == "triple") { + if (posLess(cur, startstart)) setSelectionUser(startend, clipPos({line: cur.line, ch: 0})); + else setSelectionUser(startstart, clipPos({line: cur.line + 1, ch: 0})); + } + } + + function extend(e) { + var cur = posFromMouse(e, true); + if (cur && !posEq(cur, last)) { + if (!focused) onFocus(); + last = cur; + doSelect(cur); + updateInput = false; + var visible = visibleLines(); + if (cur.line >= visible.to || cur.line < visible.from) + going = setTimeout(operation(function(){extend(e);}), 150); + } + } + + function done(e) { + clearTimeout(going); + var cur = posFromMouse(e); + if (cur) doSelect(cur); + e_preventDefault(e); + focusInput(); + updateInput = true; + move(); up(); + } + var move = connect(document, "mousemove", operation(function(e) { + clearTimeout(going); + e_preventDefault(e); + if (!ie && !e_button(e)) done(e); + else extend(e); + }), true); + var up = connect(document, "mouseup", operation(done), true); + } + function onDoubleClick(e) { + for (var n = e_target(e); n != wrapper; n = n.parentNode) + if (n.parentNode == gutterText) return e_preventDefault(e); + e_preventDefault(e); + } + function onDrop(e) { + if (options.onDragEvent && options.onDragEvent(instance, addStop(e))) return; + e_preventDefault(e); + var pos = posFromMouse(e, true), files = e.dataTransfer.files; + if (!pos || options.readOnly) return; + if (files && files.length && window.FileReader && window.File) { + var n = files.length, text = Array(n), read = 0; + var loadFile = function(file, i) { + var reader = new FileReader; + reader.onload = function() { + text[i] = reader.result; + if (++read == n) { + pos = clipPos(pos); + operation(function() { + var end = replaceRange(text.join(""), pos, pos); + setSelectionUser(pos, end); + })(); + } + }; + reader.readAsText(file); + }; + for (var i = 0; i < n; ++i) loadFile(files[i], i); + } else { + // Don't do a replace if the drop happened inside of the selected text. + if (draggingText && !(posLess(pos, sel.from) || posLess(sel.to, pos))) return; + try { + var text = e.dataTransfer.getData("Text"); + if (text) { + compoundChange(function() { + var curFrom = sel.from, curTo = sel.to; + setSelectionUser(pos, pos); + if (draggingText) replaceRange("", curFrom, curTo); + replaceSelection(text); + focusInput(); + }); + } + } + catch(e){} + } + } + function onDragStart(e) { + var txt = getSelection(); + e.dataTransfer.setData("Text", txt); + + // Use dummy image instead of default browsers image. + if (gecko || chrome || opera) { + var img = elt('img'); + img.scr = 'data:image/gif;base64,R0lGODdhAgACAIAAAAAAAP///ywAAAAAAgACAAACAoRRADs='; //1x1 image + e.dataTransfer.setDragImage(img, 0, 0); + } + } + + function doHandleBinding(bound, dropShift) { + if (typeof bound == "string") { + bound = commands[bound]; + if (!bound) return false; + } + var prevShift = shiftSelecting; + try { + if (options.readOnly) suppressEdits = true; + if (dropShift) shiftSelecting = null; + bound(instance); + } catch(e) { + if (e != Pass) throw e; + return false; + } finally { + shiftSelecting = prevShift; + suppressEdits = false; + } + return true; + } + var maybeTransition; + function handleKeyBinding(e) { + // Handle auto keymap transitions + var startMap = getKeyMap(options.keyMap), next = startMap.auto; + clearTimeout(maybeTransition); + if (next && !isModifierKey(e)) maybeTransition = setTimeout(function() { + if (getKeyMap(options.keyMap) == startMap) { + options.keyMap = (next.call ? next.call(null, instance) : next); + } + }, 50); + + var name = keyNames[e_prop(e, "keyCode")], handled = false; + if (name == null || e.altGraphKey) return false; + if (e_prop(e, "altKey")) name = "Alt-" + name; + if (e_prop(e, "ctrlKey")) name = "Ctrl-" + name; + if (e_prop(e, "metaKey")) name = "Cmd-" + name; + + var stopped = false; + function stop() { stopped = true; } + + if (e_prop(e, "shiftKey")) { + handled = lookupKey("Shift-" + name, options.extraKeys, options.keyMap, + function(b) {return doHandleBinding(b, true);}, stop) + || lookupKey(name, options.extraKeys, options.keyMap, function(b) { + if (typeof b == "string" && /^go[A-Z]/.test(b)) return doHandleBinding(b); + }, stop); + } else { + handled = lookupKey(name, options.extraKeys, options.keyMap, doHandleBinding, stop); + } + if (stopped) handled = false; + if (handled) { + e_preventDefault(e); + restartBlink(); + if (ie) { e.oldKeyCode = e.keyCode; e.keyCode = 0; } + } + return handled; + } + function handleCharBinding(e, ch) { + var handled = lookupKey("'" + ch + "'", options.extraKeys, + options.keyMap, function(b) { return doHandleBinding(b, true); }); + if (handled) { + e_preventDefault(e); + restartBlink(); + } + return handled; + } + + var lastStoppedKey = null; + function onKeyDown(e) { + if (!focused) onFocus(); + if (ie && e.keyCode == 27) { e.returnValue = false; } + if (pollingFast) { if (readInput()) pollingFast = false; } + if (options.onKeyEvent && options.onKeyEvent(instance, addStop(e))) return; + var code = e_prop(e, "keyCode"); + // IE does strange things with escape. + setShift(code == 16 || e_prop(e, "shiftKey")); + // First give onKeyEvent option a chance to handle this. + var handled = handleKeyBinding(e); + if (opera) { + lastStoppedKey = handled ? code : null; + // Opera has no cut event... we try to at least catch the key combo + if (!handled && code == 88 && e_prop(e, mac ? "metaKey" : "ctrlKey")) + replaceSelection(""); + } + } + function onKeyPress(e) { + if (pollingFast) readInput(); + if (options.onKeyEvent && options.onKeyEvent(instance, addStop(e))) return; + var keyCode = e_prop(e, "keyCode"), charCode = e_prop(e, "charCode"); + if (opera && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return;} + if (((opera && (!e.which || e.which < 10)) || khtml) && handleKeyBinding(e)) return; + var ch = String.fromCharCode(charCode == null ? keyCode : charCode); + if (options.electricChars && mode.electricChars && options.smartIndent && !options.readOnly) { + if (mode.electricChars.indexOf(ch) > -1) + setTimeout(operation(function() {indentLine(sel.to.line, "smart");}), 75); + } + if (handleCharBinding(e, ch)) return; + fastPoll(); + } + function onKeyUp(e) { + if (options.onKeyEvent && options.onKeyEvent(instance, addStop(e))) return; + if (e_prop(e, "keyCode") == 16) shiftSelecting = null; + } + + function onFocus() { + if (options.readOnly == "nocursor") return; + if (!focused) { + if (options.onFocus) options.onFocus(instance); + focused = true; + if (scroller.className.search(/\bCodeMirror-focused\b/) == -1) + scroller.className += " CodeMirror-focused"; + if (!leaveInputAlone) resetInput(true); + } + slowPoll(); + restartBlink(); + } + function onBlur() { + if (focused) { + if (options.onBlur) options.onBlur(instance); + focused = false; + if (bracketHighlighted) + operation(function(){ + if (bracketHighlighted) { bracketHighlighted(); bracketHighlighted = null; } + })(); + scroller.className = scroller.className.replace(" CodeMirror-focused", ""); + } + clearInterval(blinker); + setTimeout(function() {if (!focused) shiftSelecting = null;}, 150); + } + + // Replace the range from from to to by the strings in newText. + // Afterwards, set the selection to selFrom, selTo. + function updateLines(from, to, newText, selFrom, selTo) { + if (suppressEdits) return; + if (history) { + var old = []; + doc.iter(from.line, to.line + 1, function(line) { old.push(line.text); }); + history.addChange(from.line, newText.length, old); + while (history.done.length > options.undoDepth) history.done.shift(); + } + updateLinesNoUndo(from, to, newText, selFrom, selTo); + } + function unredoHelper(from, to) { + if (!from.length) return; + var set = from.pop(), out = []; + for (var i = set.length - 1; i >= 0; i -= 1) { + var change = set[i]; + var replaced = [], end = change.start + change.added; + doc.iter(change.start, end, function(line) { replaced.push(line.text); }); + out.push({start: change.start, added: change.old.length, old: replaced}); + var pos = {line: change.start + change.old.length - 1, + ch: editEnd(replaced[replaced.length-1], change.old[change.old.length-1])}; + updateLinesNoUndo({line: change.start, ch: 0}, {line: end - 1, ch: getLine(end-1).text.length}, change.old, pos, pos); + } + updateInput = true; + to.push(out); + } + function undo() {unredoHelper(history.done, history.undone);} + function redo() {unredoHelper(history.undone, history.done);} + + function updateLinesNoUndo(from, to, newText, selFrom, selTo) { + if (suppressEdits) return; + var recomputeMaxLength = false, maxLineLength = maxLine.text.length; + if (!options.lineWrapping) + doc.iter(from.line, to.line + 1, function(line) { + if (!line.hidden && line.text.length == maxLineLength) {recomputeMaxLength = true; return true;} + }); + if (from.line != to.line || newText.length > 1) gutterDirty = true; + + var nlines = to.line - from.line, firstLine = getLine(from.line), lastLine = getLine(to.line); + // First adjust the line structure, taking some care to leave highlighting intact. + if (from.ch == 0 && to.ch == 0 && newText[newText.length - 1] == "") { + // This is a whole-line replace. Treated specially to make + // sure line objects move the way they are supposed to. + var added = [], prevLine = null; + if (from.line) { + prevLine = getLine(from.line - 1); + prevLine.fixMarkEnds(lastLine); + } else lastLine.fixMarkStarts(); + for (var i = 0, e = newText.length - 1; i < e; ++i) + added.push(Line.inheritMarks(newText[i], prevLine)); + if (nlines) doc.remove(from.line, nlines, callbacks); + if (added.length) doc.insert(from.line, added); + } else if (firstLine == lastLine) { + if (newText.length == 1) + firstLine.replace(from.ch, to.ch, newText[0]); + else { + lastLine = firstLine.split(to.ch, newText[newText.length-1]); + firstLine.replace(from.ch, null, newText[0]); + firstLine.fixMarkEnds(lastLine); + var added = []; + for (var i = 1, e = newText.length - 1; i < e; ++i) + added.push(Line.inheritMarks(newText[i], firstLine)); + added.push(lastLine); + doc.insert(from.line + 1, added); + } + } else if (newText.length == 1) { + firstLine.replace(from.ch, null, newText[0]); + lastLine.replace(null, to.ch, ""); + firstLine.append(lastLine); + doc.remove(from.line + 1, nlines, callbacks); + } else { + var added = []; + firstLine.replace(from.ch, null, newText[0]); + lastLine.replace(null, to.ch, newText[newText.length-1]); + firstLine.fixMarkEnds(lastLine); + for (var i = 1, e = newText.length - 1; i < e; ++i) + added.push(Line.inheritMarks(newText[i], firstLine)); + if (nlines > 1) doc.remove(from.line + 1, nlines - 1, callbacks); + doc.insert(from.line + 1, added); + } + if (options.lineWrapping) { + var perLine = Math.max(5, scroller.clientWidth / charWidth() - 3); + doc.iter(from.line, from.line + newText.length, function(line) { + if (line.hidden) return; + var guess = Math.ceil(line.text.length / perLine) || 1; + if (guess != line.height) updateLineHeight(line, guess); + }); + } else { + doc.iter(from.line, from.line + newText.length, function(line) { + var l = line.text; + if (!line.hidden && l.length > maxLineLength) { + maxLine = line; maxLineLength = l.length; maxLineChanged = true; + recomputeMaxLength = false; + } + }); + if (recomputeMaxLength) updateMaxLine = true; + } + + // Add these lines to the work array, so that they will be + // highlighted. Adjust work lines if lines were added/removed. + var newWork = [], lendiff = newText.length - nlines - 1; + for (var i = 0, l = work.length; i < l; ++i) { + var task = work[i]; + if (task < from.line) newWork.push(task); + else if (task > to.line) newWork.push(task + lendiff); + } + var hlEnd = from.line + Math.min(newText.length, 500); + highlightLines(from.line, hlEnd); + newWork.push(hlEnd); + work = newWork; + startWorker(100); + // Remember that these lines changed, for updating the display + changes.push({from: from.line, to: to.line + 1, diff: lendiff}); + var changeObj = {from: from, to: to, text: newText}; + if (textChanged) { + for (var cur = textChanged; cur.next; cur = cur.next) {} + cur.next = changeObj; + } else textChanged = changeObj; + + // Update the selection + function updateLine(n) {return n <= Math.min(to.line, to.line + lendiff) ? n : n + lendiff;} + setSelection(clipPos(selFrom), clipPos(selTo), + updateLine(sel.from.line), updateLine(sel.to.line)); + } + + function needsScrollbar() { + var realHeight = doc.height * textHeight() + 2 * paddingTop(); + return realHeight * .99 > scroller.offsetHeight ? realHeight : false; + } + + function updateVerticalScroll(scrollTop) { + var scrollHeight = needsScrollbar(); + scrollbar.style.display = scrollHeight ? "block" : "none"; + if (scrollHeight) { + scrollbarInner.style.height = sizer.style.minHeight = scrollHeight + "px"; + scrollbar.style.height = scroller.clientHeight + "px"; + if (scrollTop != null) { + scrollbar.scrollTop = scroller.scrollTop = scrollTop; + // 'Nudge' the scrollbar to work around a Webkit bug where, + // in some situations, we'd end up with a scrollbar that + // reported its scrollTop (and looked) as expected, but + // *behaved* as if it was still in a previous state (i.e. + // couldn't scroll up, even though it appeared to be at the + // bottom). + if (webkit) setTimeout(function() { + if (scrollbar.scrollTop != scrollTop) return; + scrollbar.scrollTop = scrollTop + (scrollTop ? -1 : 1); + scrollbar.scrollTop = scrollTop; + }, 0); + } + } else { + sizer.style.minHeight = ""; + } + // Position the mover div to align with the current virtual scroll position + mover.style.top = displayOffset * textHeight() + "px"; + } + + function computeMaxLength() { + maxLine = getLine(0); maxLineChanged = true; + var maxLineLength = maxLine.text.length; + doc.iter(1, doc.size, function(line) { + var l = line.text; + if (!line.hidden && l.length > maxLineLength) { + maxLineLength = l.length; maxLine = line; + } + }); + updateMaxLine = false; + } + + function replaceRange(code, from, to) { + from = clipPos(from); + if (!to) to = from; else to = clipPos(to); + code = splitLines(code); + function adjustPos(pos) { + if (posLess(pos, from)) return pos; + if (!posLess(to, pos)) return end; + var line = pos.line + code.length - (to.line - from.line) - 1; + var ch = pos.ch; + if (pos.line == to.line) + ch += code[code.length-1].length - (to.ch - (to.line == from.line ? from.ch : 0)); + return {line: line, ch: ch}; + } + var end; + replaceRange1(code, from, to, function(end1) { + end = end1; + return {from: adjustPos(sel.from), to: adjustPos(sel.to)}; + }); + return end; + } + function replaceSelection(code, collapse) { + replaceRange1(splitLines(code), sel.from, sel.to, function(end) { + if (collapse == "end") return {from: end, to: end}; + else if (collapse == "start") return {from: sel.from, to: sel.from}; + else return {from: sel.from, to: end}; + }); + } + function replaceRange1(code, from, to, computeSel) { + var endch = code.length == 1 ? code[0].length + from.ch : code[code.length-1].length; + var newSel = computeSel({line: from.line + code.length - 1, ch: endch}); + updateLines(from, to, code, newSel.from, newSel.to); + } + + function getRange(from, to, lineSep) { + var l1 = from.line, l2 = to.line; + if (l1 == l2) return getLine(l1).text.slice(from.ch, to.ch); + var code = [getLine(l1).text.slice(from.ch)]; + doc.iter(l1 + 1, l2, function(line) { code.push(line.text); }); + code.push(getLine(l2).text.slice(0, to.ch)); + return code.join(lineSep || "\n"); + } + function getSelection(lineSep) { + return getRange(sel.from, sel.to, lineSep); + } + + function slowPoll() { + if (pollingFast) return; + poll.set(options.pollInterval, function() { + startOperation(); + readInput(); + if (focused) slowPoll(); + endOperation(); + }); + } + function fastPoll() { + var missed = false; + pollingFast = true; + function p() { + startOperation(); + var changed = readInput(); + if (!changed && !missed) {missed = true; poll.set(60, p);} + else {pollingFast = false; slowPoll();} + endOperation(); + } + poll.set(20, p); + } + + // Previnput is a hack to work with IME. If we reset the textarea + // on every change, that breaks IME. So we look for changes + // compared to the previous content instead. (Modern browsers have + // events that indicate IME taking place, but these are not widely + // supported or compatible enough yet to rely on.) + var prevInput = ""; + function readInput() { + if (leaveInputAlone || !focused || hasSelection(input) || options.readOnly) return false; + var text = input.value; + if (text == prevInput) return false; + shiftSelecting = null; + var same = 0, l = Math.min(prevInput.length, text.length); + while (same < l && prevInput[same] == text[same]) ++same; + if (same < prevInput.length) + sel.from = {line: sel.from.line, ch: sel.from.ch - (prevInput.length - same)}; + else if (overwrite && posEq(sel.from, sel.to)) + sel.to = {line: sel.to.line, ch: Math.min(getLine(sel.to.line).text.length, sel.to.ch + (text.length - same))}; + replaceSelection(text.slice(same), "end"); + if (text.length > 1000) { input.value = prevInput = ""; } + else prevInput = text; + return true; + } + function resetInput(user) { + if (!posEq(sel.from, sel.to)) { + prevInput = ""; + input.value = getSelection(); + if (focused) selectInput(input); + } else if (user) prevInput = input.value = ""; + } + + function focusInput() { + if (options.readOnly != "nocursor") input.focus(); + } + + function scrollCursorIntoView() { + var coords = calculateCursorCoords(); + scrollIntoView(coords.x, coords.y, coords.x, coords.yBot); + if (!focused) return; + var box = sizer.getBoundingClientRect(), doScroll = null; + if (coords.y + box.top < 0) doScroll = true; + else if (coords.y + box.top + textHeight() > (window.innerHeight || document.documentElement.clientHeight)) doScroll = false; + if (doScroll != null) { + var hidden = cursor.style.display == "none"; + if (hidden) { + cursor.style.display = ""; + cursor.style.left = coords.x + "px"; + cursor.style.top = (coords.y - displayOffset) + "px"; + } + cursor.scrollIntoView(doScroll); + if (hidden) cursor.style.display = "none"; + } + } + function calculateCursorCoords() { + var cursor = localCoords(sel.inverted ? sel.from : sel.to); + var x = options.lineWrapping ? Math.min(cursor.x, lineSpace.offsetWidth) : cursor.x; + return {x: x, y: cursor.y, yBot: cursor.yBot}; + } + function scrollIntoView(x1, y1, x2, y2) { + var scrollPos = calculateScrollPos(x1, y1, x2, y2); + if (scrollPos.scrollLeft != null) {scroller.scrollLeft = scrollPos.scrollLeft;} + if (scrollPos.scrollTop != null) {scrollbar.scrollTop = scroller.scrollTop = scrollPos.scrollTop;} + } + function calculateScrollPos(x1, y1, x2, y2) { + var pl = paddingLeft(), pt = paddingTop(); + y1 += pt; y2 += pt; x1 += pl; x2 += pl; + var screen = scroller.clientHeight, screentop = scrollbar.scrollTop, result = {}; + var docBottom = needsScrollbar() || Infinity; + var atTop = y1 < pt + 10, atBottom = y2 + pt > docBottom - 10; + if (y1 < screentop) result.scrollTop = atTop ? 0 : Math.max(0, y1); + else if (y2 > screentop + screen) result.scrollTop = (atBottom ? docBottom : y2) - screen; + + var screenw = scroller.clientWidth, screenleft = scroller.scrollLeft; + var gutterw = options.fixedGutter ? gutter.clientWidth : 0; + var atLeft = x1 < gutterw + pl + 10; + if (x1 < screenleft + gutterw || atLeft) { + if (atLeft) x1 = 0; + result.scrollLeft = Math.max(0, x1 - 10 - gutterw); + } else if (x2 > screenw + screenleft - 3) { + result.scrollLeft = x2 + 10 - screenw; + } + return result; + } + + function visibleLines(scrollTop) { + var lh = textHeight(), top = (scrollTop != null ? scrollTop : scrollbar.scrollTop) - paddingTop(); + var fromHeight = Math.max(0, Math.floor(top / lh)); + var toHeight = Math.ceil((top + scroller.clientHeight) / lh); + return {from: lineAtHeight(doc, fromHeight), + to: lineAtHeight(doc, toHeight)}; + } + // Uses a set of changes plus the current scroll position to + // determine which DOM updates have to be made, and makes the + // updates. + function updateDisplay(changes, suppressCallback, scrollTop) { + if (!scroller.clientWidth) { + showingFrom = showingTo = displayOffset = 0; + return; + } + // Compute the new visible window + // If scrollTop is specified, use that to determine which lines + // to render instead of the current scrollbar position. + var visible = visibleLines(scrollTop); + // Bail out if the visible area is already rendered and nothing changed. + if (changes !== true && changes.length == 0 && visible.from > showingFrom && visible.to < showingTo) { + updateVerticalScroll(scrollTop); + return; + } + var from = Math.max(visible.from - 100, 0), to = Math.min(doc.size, visible.to + 100); + if (showingFrom < from && from - showingFrom < 20) from = showingFrom; + if (showingTo > to && showingTo - to < 20) to = Math.min(doc.size, showingTo); + + // Create a range of theoretically intact lines, and punch holes + // in that using the change info. + var intact = changes === true ? [] : + computeIntact([{from: showingFrom, to: showingTo, domStart: 0}], changes); + // Clip off the parts that won't be visible + var intactLines = 0; + for (var i = 0; i < intact.length; ++i) { + var range = intact[i]; + if (range.from < from) {range.domStart += (from - range.from); range.from = from;} + if (range.to > to) range.to = to; + if (range.from >= range.to) intact.splice(i--, 1); + else intactLines += range.to - range.from; + } + if (intactLines == to - from && from == showingFrom && to == showingTo) { + updateVerticalScroll(scrollTop); + return; + } + intact.sort(function(a, b) {return a.domStart - b.domStart;}); + + var th = textHeight(), gutterDisplay = gutter.style.display; + lineDiv.style.display = "none"; + patchDisplay(from, to, intact); + lineDiv.style.display = gutter.style.display = ""; + + var different = from != showingFrom || to != showingTo || lastSizeC != scroller.clientHeight + th; + // This is just a bogus formula that detects when the editor is + // resized or the font size changes. + if (different) lastSizeC = scroller.clientHeight + th; + if (from != showingFrom || to != showingTo && options.onViewportChange) + setTimeout(function(){ + if (options.onViewportChange) options.onViewportChange(instance, from, to); + }); + showingFrom = from; showingTo = to; + displayOffset = heightAtLine(doc, from); + + // Since this is all rather error prone, it is honoured with the + // only assertion in the whole file. + if (lineDiv.childNodes.length != showingTo - showingFrom) + throw new Error("BAD PATCH! " + JSON.stringify(intact) + " size=" + (showingTo - showingFrom) + + " nodes=" + lineDiv.childNodes.length); + + function checkHeights() { + var curNode = lineDiv.firstChild, heightChanged = false; + doc.iter(showingFrom, showingTo, function(line) { + // Work around bizarro IE7 bug where, sometimes, our curNode + // is magically replaced with a new node in the DOM, leaving + // us with a reference to an orphan (nextSibling-less) node. + if (!curNode) return; + if (!line.hidden) { + var height = Math.round(curNode.offsetHeight / th) || 1; + if (line.height != height) { + updateLineHeight(line, height); + gutterDirty = heightChanged = true; + } + } + curNode = curNode.nextSibling; + }); + return heightChanged; + } + + if (options.lineWrapping) checkHeights(); + + gutter.style.display = gutterDisplay; + if (different || gutterDirty) { + // If the gutter grew in size, re-check heights. If those changed, re-draw gutter. + updateGutter() && options.lineWrapping && checkHeights() && updateGutter(); + } + updateVerticalScroll(scrollTop); + updateSelection(); + if (!suppressCallback && options.onUpdate) options.onUpdate(instance); + return true; + } + + function computeIntact(intact, changes) { + for (var i = 0, l = changes.length || 0; i < l; ++i) { + var change = changes[i], intact2 = [], diff = change.diff || 0; + for (var j = 0, l2 = intact.length; j < l2; ++j) { + var range = intact[j]; + if (change.to <= range.from && change.diff) + intact2.push({from: range.from + diff, to: range.to + diff, + domStart: range.domStart}); + else if (change.to <= range.from || change.from >= range.to) + intact2.push(range); + else { + if (change.from > range.from) + intact2.push({from: range.from, to: change.from, domStart: range.domStart}); + if (change.to < range.to) + intact2.push({from: change.to + diff, to: range.to + diff, + domStart: range.domStart + (change.to - range.from)}); + } + } + intact = intact2; + } + return intact; + } + + function patchDisplay(from, to, intact) { + function killNode(node) { + var tmp = node.nextSibling; + node.parentNode.removeChild(node); + return tmp; + } + // The first pass removes the DOM nodes that aren't intact. + if (!intact.length) removeChildren(lineDiv); + else { + var domPos = 0, curNode = lineDiv.firstChild, n; + for (var i = 0; i < intact.length; ++i) { + var cur = intact[i]; + while (cur.domStart > domPos) {curNode = killNode(curNode); domPos++;} + for (var j = 0, e = cur.to - cur.from; j < e; ++j) {curNode = curNode.nextSibling; domPos++;} + } + while (curNode) curNode = killNode(curNode); + } + // This pass fills in the lines that actually changed. + var nextIntact = intact.shift(), curNode = lineDiv.firstChild, j = from; + doc.iter(from, to, function(line) { + if (nextIntact && nextIntact.to == j) nextIntact = intact.shift(); + if (!nextIntact || nextIntact.from > j) { + if (line.hidden) var lineElement = elt("pre"); + else { + var lineElement = line.getElement(makeTab); + if (line.className) lineElement.className = line.className; + // Kludge to make sure the styled element lies behind the selection (by z-index) + if (line.bgClassName) { + var pre = elt("pre", "\u00a0", line.bgClassName, "position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -2"); + lineElement = elt("div", [pre, lineElement], null, "position: relative"); + } + } + lineDiv.insertBefore(lineElement, curNode); + } else { + curNode = curNode.nextSibling; + } + ++j; + }); + } + + function updateGutter() { + if (!options.gutter && !options.lineNumbers) return; + var hText = mover.offsetHeight, hEditor = scroller.clientHeight; + gutter.style.height = (hText - hEditor < 2 ? hEditor : hText) + "px"; + var fragment = document.createDocumentFragment(), i = showingFrom, normalNode; + doc.iter(showingFrom, Math.max(showingTo, showingFrom + 1), function(line) { + if (line.hidden) { + fragment.appendChild(elt("pre")); + } else { + var marker = line.gutterMarker; + var text = options.lineNumbers ? options.lineNumberFormatter(i + options.firstLineNumber) : null; + if (marker && marker.text) + text = marker.text.replace("%N%", text != null ? text : ""); + else if (text == null) + text = "\u00a0"; + var markerElement = fragment.appendChild(elt("pre", null, marker && marker.style)); + markerElement.innerHTML = text; + for (var j = 1; j < line.height; ++j) { + markerElement.appendChild(elt("br")); + markerElement.appendChild(document.createTextNode("\u00a0")); + } + if (!marker) normalNode = i; + } + ++i; + }); + gutter.style.display = "none"; + removeChildrenAndAdd(gutterText, fragment); + // Make sure scrolling doesn't cause number gutter size to pop + if (normalNode != null && options.lineNumbers) { + var node = gutterText.childNodes[normalNode - showingFrom]; + var minwidth = String(doc.size).length, val = eltText(node.firstChild), pad = ""; + while (val.length + pad.length < minwidth) pad += "\u00a0"; + if (pad) node.insertBefore(document.createTextNode(pad), node.firstChild); + } + gutter.style.display = ""; + var resized = Math.abs((parseInt(lineSpace.style.marginLeft) || 0) - gutter.offsetWidth) > 2; + lineSpace.style.marginLeft = gutter.offsetWidth + "px"; + gutterDirty = false; + return resized; + } + function updateSelection() { + var collapsed = posEq(sel.from, sel.to); + var fromPos = localCoords(sel.from, true); + var toPos = collapsed ? fromPos : localCoords(sel.to, true); + var headPos = sel.inverted ? fromPos : toPos, th = textHeight(); + var wrapOff = eltOffset(wrapper), lineOff = eltOffset(lineDiv); + inputDiv.style.top = Math.max(0, Math.min(scroller.offsetHeight, headPos.y + lineOff.top - wrapOff.top)) + "px"; + inputDiv.style.left = Math.max(0, Math.min(scroller.offsetWidth, headPos.x + lineOff.left - wrapOff.left)) + "px"; + if (collapsed) { + cursor.style.top = headPos.y + "px"; + cursor.style.left = (options.lineWrapping ? Math.min(headPos.x, lineSpace.offsetWidth) : headPos.x) + "px"; + cursor.style.display = ""; + selectionDiv.style.display = "none"; + } else { + var sameLine = fromPos.y == toPos.y, fragment = document.createDocumentFragment(); + var clientWidth = lineSpace.clientWidth || lineSpace.offsetWidth; + var clientHeight = lineSpace.clientHeight || lineSpace.offsetHeight; + var add = function(left, top, right, height) { + var rstyle = quirksMode ? "width: " + (!right ? clientWidth : clientWidth - right - left) + "px" + : "right: " + right + "px"; + fragment.appendChild(elt("div", null, "CodeMirror-selected", "position: absolute; left: " + left + + "px; top: " + top + "px; " + rstyle + "; height: " + height + "px")); + }; + if (sel.from.ch && fromPos.y >= 0) { + var right = sameLine ? clientWidth - toPos.x : 0; + add(fromPos.x, fromPos.y, right, th); + } + var middleStart = Math.max(0, fromPos.y + (sel.from.ch ? th : 0)); + var middleHeight = Math.min(toPos.y, clientHeight) - middleStart; + if (middleHeight > 0.2 * th) + add(0, middleStart, 0, middleHeight); + if ((!sameLine || !sel.from.ch) && toPos.y < clientHeight - .5 * th) + add(0, toPos.y, clientWidth - toPos.x, th); + removeChildrenAndAdd(selectionDiv, fragment); + cursor.style.display = "none"; + selectionDiv.style.display = ""; + } + } + + function setShift(val) { + if (val) shiftSelecting = shiftSelecting || (sel.inverted ? sel.to : sel.from); + else shiftSelecting = null; + } + function setSelectionUser(from, to) { + var sh = shiftSelecting && clipPos(shiftSelecting); + if (sh) { + if (posLess(sh, from)) from = sh; + else if (posLess(to, sh)) to = sh; + } + setSelection(from, to); + userSelChange = true; + } + // Update the selection. Last two args are only used by + // updateLines, since they have to be expressed in the line + // numbers before the update. + function setSelection(from, to, oldFrom, oldTo) { + goalColumn = null; + if (oldFrom == null) {oldFrom = sel.from.line; oldTo = sel.to.line;} + if (posEq(sel.from, from) && posEq(sel.to, to)) return; + if (posLess(to, from)) {var tmp = to; to = from; from = tmp;} + + // Skip over hidden lines. + if (from.line != oldFrom) { + var from1 = skipHidden(from, oldFrom, sel.from.ch); + // If there is no non-hidden line left, force visibility on current line + if (!from1) setLineHidden(from.line, false); + else from = from1; + } + if (to.line != oldTo) to = skipHidden(to, oldTo, sel.to.ch); + + if (posEq(from, to)) sel.inverted = false; + else if (posEq(from, sel.to)) sel.inverted = false; + else if (posEq(to, sel.from)) sel.inverted = true; + + if (options.autoClearEmptyLines && posEq(sel.from, sel.to)) { + var head = sel.inverted ? from : to; + if (head.line != sel.from.line && sel.from.line < doc.size) { + var oldLine = getLine(sel.from.line); + if (/^\s+$/.test(oldLine.text)) + setTimeout(operation(function() { + if (oldLine.parent && /^\s+$/.test(oldLine.text)) { + var no = lineNo(oldLine); + replaceRange("", {line: no, ch: 0}, {line: no, ch: oldLine.text.length}); + } + }, 10)); + } + } + + sel.from = from; sel.to = to; + selectionChanged = true; + } + function skipHidden(pos, oldLine, oldCh) { + function getNonHidden(dir) { + var lNo = pos.line + dir, end = dir == 1 ? doc.size : -1; + while (lNo != end) { + var line = getLine(lNo); + if (!line.hidden) { + var ch = pos.ch; + if (toEnd || ch > oldCh || ch > line.text.length) ch = line.text.length; + return {line: lNo, ch: ch}; + } + lNo += dir; + } + } + var line = getLine(pos.line); + var toEnd = pos.ch == line.text.length && pos.ch != oldCh; + if (!line.hidden) return pos; + if (pos.line >= oldLine) return getNonHidden(1) || getNonHidden(-1); + else return getNonHidden(-1) || getNonHidden(1); + } + function setCursor(line, ch, user) { + var pos = clipPos({line: line, ch: ch || 0}); + (user ? setSelectionUser : setSelection)(pos, pos); + } + + function clipLine(n) {return Math.max(0, Math.min(n, doc.size-1));} + function clipPos(pos) { + if (pos.line < 0) return {line: 0, ch: 0}; + if (pos.line >= doc.size) return {line: doc.size-1, ch: getLine(doc.size-1).text.length}; + var ch = pos.ch, linelen = getLine(pos.line).text.length; + if (ch == null || ch > linelen) return {line: pos.line, ch: linelen}; + else if (ch < 0) return {line: pos.line, ch: 0}; + else return pos; + } + + function findPosH(dir, unit) { + var end = sel.inverted ? sel.from : sel.to, line = end.line, ch = end.ch; + var lineObj = getLine(line); + function findNextLine() { + for (var l = line + dir, e = dir < 0 ? -1 : doc.size; l != e; l += dir) { + var lo = getLine(l); + if (!lo.hidden) { line = l; lineObj = lo; return true; } + } + } + function moveOnce(boundToLine) { + if (ch == (dir < 0 ? 0 : lineObj.text.length)) { + if (!boundToLine && findNextLine()) ch = dir < 0 ? lineObj.text.length : 0; + else return false; + } else ch += dir; + return true; + } + if (unit == "char") moveOnce(); + else if (unit == "column") moveOnce(true); + else if (unit == "word") { + var sawWord = false; + for (;;) { + if (dir < 0) if (!moveOnce()) break; + if (isWordChar(lineObj.text.charAt(ch))) sawWord = true; + else if (sawWord) {if (dir < 0) {dir = 1; moveOnce();} break;} + if (dir > 0) if (!moveOnce()) break; + } + } + return {line: line, ch: ch}; + } + function moveH(dir, unit) { + var pos = dir < 0 ? sel.from : sel.to; + if (shiftSelecting || posEq(sel.from, sel.to)) pos = findPosH(dir, unit); + setCursor(pos.line, pos.ch, true); + } + function deleteH(dir, unit) { + if (!posEq(sel.from, sel.to)) replaceRange("", sel.from, sel.to); + else if (dir < 0) replaceRange("", findPosH(dir, unit), sel.to); + else replaceRange("", sel.from, findPosH(dir, unit)); + userSelChange = true; + } + function moveV(dir, unit) { + var dist = 0, pos = localCoords(sel.inverted ? sel.from : sel.to, true); + if (goalColumn != null) pos.x = goalColumn; + if (unit == "page") { + var screen = Math.min(scroller.clientHeight, window.innerHeight || document.documentElement.clientHeight); + var target = coordsChar(pos.x, pos.y + screen * dir); + } else if (unit == "line") { + var th = textHeight(); + var target = coordsChar(pos.x, pos.y + .5 * th + dir * th); + } + if (unit == "page") scrollbar.scrollTop += localCoords(target, true).y - pos.y; + setCursor(target.line, target.ch, true); + goalColumn = pos.x; + } + + function findWordAt(pos) { + var line = getLine(pos.line).text; + var start = pos.ch, end = pos.ch; + if (line) { + if (pos.after === false || end == line.length) --start; else ++end; + var startChar = line.charAt(start); + var check = isWordChar(startChar) ? isWordChar : + /\s/.test(startChar) ? function(ch) {return /\s/.test(ch);} : + function(ch) {return !/\s/.test(ch) && !isWordChar(ch);}; + while (start > 0 && check(line.charAt(start - 1))) --start; + while (end < line.length && check(line.charAt(end))) ++end; + } + return {from: {line: pos.line, ch: start}, to: {line: pos.line, ch: end}}; + } + function selectLine(line) { + setSelectionUser({line: line, ch: 0}, clipPos({line: line + 1, ch: 0})); + } + function indentSelected(mode) { + if (posEq(sel.from, sel.to)) return indentLine(sel.from.line, mode); + var e = sel.to.line - (sel.to.ch ? 0 : 1); + for (var i = sel.from.line; i <= e; ++i) indentLine(i, mode); + } + + function indentLine(n, how) { + if (!how) how = "add"; + if (how == "smart") { + if (!mode.indent) how = "prev"; + else var state = getStateBefore(n); + } + + var line = getLine(n), curSpace = line.indentation(options.tabSize), + curSpaceString = line.text.match(/^\s*/)[0], indentation; + if (how == "smart") { + indentation = mode.indent(state, line.text.slice(curSpaceString.length), line.text); + if (indentation == Pass) how = "prev"; + } + if (how == "prev") { + if (n) indentation = getLine(n-1).indentation(options.tabSize); + else indentation = 0; + } + else if (how == "add") indentation = curSpace + options.indentUnit; + else if (how == "subtract") indentation = curSpace - options.indentUnit; + indentation = Math.max(0, indentation); + var diff = indentation - curSpace; + + var indentString = "", pos = 0; + if (options.indentWithTabs) + for (var i = Math.floor(indentation / options.tabSize); i; --i) {pos += options.tabSize; indentString += "\t";} + while (pos < indentation) {++pos; indentString += " ";} + + if (indentString != curSpaceString) + replaceRange(indentString, {line: n, ch: 0}, {line: n, ch: curSpaceString.length}); + } + + function loadMode() { + mode = CodeMirror.getMode(options, options.mode); + doc.iter(0, doc.size, function(line) { line.stateAfter = null; }); + work = [0]; + startWorker(); + } + function gutterChanged() { + var visible = options.gutter || options.lineNumbers; + gutter.style.display = visible ? "" : "none"; + if (visible) gutterDirty = true; + else lineDiv.parentNode.style.marginLeft = 0; + } + function wrappingChanged(from, to) { + if (options.lineWrapping) { + wrapper.className += " CodeMirror-wrap"; + var perLine = scroller.clientWidth / charWidth() - 3; + doc.iter(0, doc.size, function(line) { + if (line.hidden) return; + var guess = Math.ceil(line.text.length / perLine) || 1; + if (guess != 1) updateLineHeight(line, guess); + }); + lineSpace.style.minWidth = widthForcer.style.left = ""; + } else { + wrapper.className = wrapper.className.replace(" CodeMirror-wrap", ""); + computeMaxLength(); + doc.iter(0, doc.size, function(line) { + if (line.height != 1 && !line.hidden) updateLineHeight(line, 1); + }); + } + changes.push({from: 0, to: doc.size}); + } + function makeTab(col) { + var w = options.tabSize - col % options.tabSize, cached = tabCache[w]; + if (cached) return cached; + for (var str = "", i = 0; i < w; ++i) str += " "; + var span = elt("span", str, "cm-tab"); + return (tabCache[w] = {element: span, width: w}); + } + function themeChanged() { + scroller.className = scroller.className.replace(/\s*cm-s-\S+/g, "") + + options.theme.replace(/(^|\s)\s*/g, " cm-s-"); + } + function keyMapChanged() { + var style = keyMap[options.keyMap].style; + wrapper.className = wrapper.className.replace(/\s*cm-keymap-\S+/g, "") + + (style ? " cm-keymap-" + style : ""); + } + + function TextMarker() { this.set = []; } + TextMarker.prototype.clear = operation(function() { + var min = Infinity, max = -Infinity; + for (var i = 0, e = this.set.length; i < e; ++i) { + var line = this.set[i], mk = line.marked; + if (!mk || !line.parent) continue; + var lineN = lineNo(line); + min = Math.min(min, lineN); max = Math.max(max, lineN); + for (var j = 0; j < mk.length; ++j) + if (mk[j].marker == this) mk.splice(j--, 1); + } + if (min != Infinity) + changes.push({from: min, to: max + 1}); + }); + TextMarker.prototype.find = function() { + var from, to; + for (var i = 0, e = this.set.length; i < e; ++i) { + var line = this.set[i], mk = line.marked; + for (var j = 0; j < mk.length; ++j) { + var mark = mk[j]; + if (mark.marker == this) { + if (mark.from != null || mark.to != null) { + var found = lineNo(line); + if (found != null) { + if (mark.from != null) from = {line: found, ch: mark.from}; + if (mark.to != null) to = {line: found, ch: mark.to}; + } + } + } + } + } + return {from: from, to: to}; + }; + + function markText(from, to, className) { + from = clipPos(from); to = clipPos(to); + var tm = new TextMarker(); + if (!posLess(from, to)) return tm; + function add(line, from, to, className) { + getLine(line).addMark(new MarkedText(from, to, className, tm)); + } + if (from.line == to.line) add(from.line, from.ch, to.ch, className); + else { + add(from.line, from.ch, null, className); + for (var i = from.line + 1, e = to.line; i < e; ++i) + add(i, null, null, className); + add(to.line, null, to.ch, className); + } + changes.push({from: from.line, to: to.line + 1}); + return tm; + } + + function setBookmark(pos) { + pos = clipPos(pos); + var bm = new Bookmark(pos.ch); + getLine(pos.line).addMark(bm); + return bm; + } + + function findMarksAt(pos) { + pos = clipPos(pos); + var markers = [], marked = getLine(pos.line).marked; + if (!marked) return markers; + for (var i = 0, e = marked.length; i < e; ++i) { + var m = marked[i]; + if ((m.from == null || m.from <= pos.ch) && + (m.to == null || m.to >= pos.ch)) + markers.push(m.marker || m); + } + return markers; + } + + function addGutterMarker(line, text, className) { + if (typeof line == "number") line = getLine(clipLine(line)); + line.gutterMarker = {text: text, style: className}; + gutterDirty = true; + return line; + } + function removeGutterMarker(line) { + if (typeof line == "number") line = getLine(clipLine(line)); + line.gutterMarker = null; + gutterDirty = true; + } + + function changeLine(handle, op) { + var no = handle, line = handle; + if (typeof handle == "number") line = getLine(clipLine(handle)); + else no = lineNo(handle); + if (no == null) return null; + if (op(line, no)) changes.push({from: no, to: no + 1}); + else return null; + return line; + } + function setLineClass(handle, className, bgClassName) { + return changeLine(handle, function(line) { + if (line.className != className || line.bgClassName != bgClassName) { + line.className = className; + line.bgClassName = bgClassName; + return true; + } + }); + } + function setLineHidden(handle, hidden) { + return changeLine(handle, function(line, no) { + if (line.hidden != hidden) { + line.hidden = hidden; + if (!options.lineWrapping) { + if (hidden && line.text.length == maxLine.text.length) { + updateMaxLine = true; + } else if (!hidden && line.text.length > maxLine.text.length) { + maxLine = line; updateMaxLine = false; + } + } + updateLineHeight(line, hidden ? 0 : 1); + var fline = sel.from.line, tline = sel.to.line; + if (hidden && (fline == no || tline == no)) { + var from = fline == no ? skipHidden({line: fline, ch: 0}, fline, 0) : sel.from; + var to = tline == no ? skipHidden({line: tline, ch: 0}, tline, 0) : sel.to; + // Can't hide the last visible line, we'd have no place to put the cursor + if (!to) return; + setSelection(from, to); + } + return (gutterDirty = true); + } + }); + } + + function lineInfo(line) { + if (typeof line == "number") { + if (!isLine(line)) return null; + var n = line; + line = getLine(line); + if (!line) return null; + } else { + var n = lineNo(line); + if (n == null) return null; + } + var marker = line.gutterMarker; + return {line: n, handle: line, text: line.text, markerText: marker && marker.text, + markerClass: marker && marker.style, lineClass: line.className, bgClass: line.bgClassName}; + } + + // These are used to go from pixel positions to character + // positions, taking varying character widths into account. + function charFromX(line, x) { + if (x <= 0) return 0; + var lineObj = getLine(line), text = lineObj.text; + function getX(len) { + return measureLine(lineObj, len).left; + } + var from = 0, fromX = 0, to = text.length, toX; + // Guess a suitable upper bound for our search. + var estimated = Math.min(to, Math.ceil(x / charWidth())); + for (;;) { + var estX = getX(estimated); + if (estX <= x && estimated < to) estimated = Math.min(to, Math.ceil(estimated * 1.2)); + else {toX = estX; to = estimated; break;} + } + if (x > toX) return to; + // Try to guess a suitable lower bound as well. + estimated = Math.floor(to * 0.8); estX = getX(estimated); + if (estX < x) {from = estimated; fromX = estX;} + // Do a binary search between these bounds. + for (;;) { + if (to - from <= 1) return (toX - x > x - fromX) ? from : to; + var middle = Math.ceil((from + to) / 2), middleX = getX(middle); + if (middleX > x) {to = middle; toX = middleX;} + else {from = middle; fromX = middleX;} + } + } + + function measureLine(line, ch) { + if (ch == 0) return {top: 0, left: 0}; + var wbr = options.lineWrapping && ch < line.text.length && + spanAffectsWrapping.test(line.text.slice(ch - 1, ch + 1)); + var pre = line.getElement(makeTab, ch, wbr); + removeChildrenAndAdd(measure, pre); + var anchor = pre.anchor; + var top = anchor.offsetTop, left = anchor.offsetLeft; + // Older IEs report zero offsets for spans directly after a wrap + if (ie && top == 0 && left == 0) { + var backup = elt("span", "x"); + anchor.parentNode.insertBefore(backup, anchor.nextSibling); + top = backup.offsetTop; + } + return {top: top, left: left}; + } + function localCoords(pos, inLineWrap) { + var x, lh = textHeight(), y = lh * (heightAtLine(doc, pos.line) - (inLineWrap ? displayOffset : 0)); + if (pos.ch == 0) x = 0; + else { + var sp = measureLine(getLine(pos.line), pos.ch); + x = sp.left; + if (options.lineWrapping) y += Math.max(0, sp.top); + } + return {x: x, y: y, yBot: y + lh}; + } + // Coords must be lineSpace-local + function coordsChar(x, y) { + var th = textHeight(), cw = charWidth(), heightPos = displayOffset + Math.floor(y / th); + if (heightPos < 0) return {line: 0, ch: 0}; + var lineNo = lineAtHeight(doc, heightPos); + if (lineNo >= doc.size) return {line: doc.size - 1, ch: getLine(doc.size - 1).text.length}; + var lineObj = getLine(lineNo), text = lineObj.text; + var tw = options.lineWrapping, innerOff = tw ? heightPos - heightAtLine(doc, lineNo) : 0; + if (x <= 0 && innerOff == 0) return {line: lineNo, ch: 0}; + var wrongLine = false; + function getX(len) { + var sp = measureLine(lineObj, len); + if (tw) { + var off = Math.round(sp.top / th); + wrongLine = off != innerOff; + return Math.max(0, sp.left + (off - innerOff) * scroller.clientWidth); + } + return sp.left; + } + var from = 0, fromX = 0, to = text.length, toX; + // Guess a suitable upper bound for our search. + var estimated = Math.min(to, Math.ceil((x + innerOff * scroller.clientWidth * .9) / cw)); + for (;;) { + var estX = getX(estimated); + if (estX <= x && estimated < to) estimated = Math.min(to, Math.ceil(estimated * 1.2)); + else {toX = estX; to = estimated; break;} + } + if (x > toX) return {line: lineNo, ch: to}; + // Try to guess a suitable lower bound as well. + estimated = Math.floor(to * 0.8); estX = getX(estimated); + if (estX < x) {from = estimated; fromX = estX;} + // Do a binary search between these bounds. + for (;;) { + if (to - from <= 1) { + var after = x - fromX < toX - x; + return {line: lineNo, ch: after ? from : to, after: after}; + } + var middle = Math.ceil((from + to) / 2), middleX = getX(middle); + if (middleX > x) {to = middle; toX = middleX; if (wrongLine) toX += 1000; } + else {from = middle; fromX = middleX;} + } + } + function pageCoords(pos) { + var local = localCoords(pos, true), off = eltOffset(lineSpace); + return {x: off.left + local.x, y: off.top + local.y, yBot: off.top + local.yBot}; + } + + var cachedHeight, cachedHeightFor, measurePre; + function textHeight() { + if (measurePre == null) { + measurePre = elt("pre"); + for (var i = 0; i < 49; ++i) { + measurePre.appendChild(document.createTextNode("x")); + measurePre.appendChild(elt("br")); + } + measurePre.appendChild(document.createTextNode("x")); + } + var offsetHeight = lineDiv.clientHeight; + if (offsetHeight == cachedHeightFor) return cachedHeight; + cachedHeightFor = offsetHeight; + removeChildrenAndAdd(measure, measurePre.cloneNode(true)); + cachedHeight = measure.firstChild.offsetHeight / 50 || 1; + removeChildren(measure); + return cachedHeight; + } + var cachedWidth, cachedWidthFor = 0; + function charWidth() { + if (scroller.clientWidth == cachedWidthFor) return cachedWidth; + cachedWidthFor = scroller.clientWidth; + var anchor = elt("span", "x"); + var pre = elt("pre", [anchor]); + removeChildrenAndAdd(measure, pre); + return (cachedWidth = anchor.offsetWidth || 10); + } + function paddingTop() {return lineSpace.offsetTop;} + function paddingLeft() {return lineSpace.offsetLeft;} + + function posFromMouse(e, liberal) { + var offW = eltOffset(scroller, true), x, y; + // Fails unpredictably on IE[67] when mouse is dragged around quickly. + try { x = e.clientX; y = e.clientY; } catch (e) { return null; } + // This is a mess of a heuristic to try and determine whether a + // scroll-bar was clicked or not, and to return null if one was + // (and !liberal). + if (!liberal && (x - offW.left > scroller.clientWidth || y - offW.top > scroller.clientHeight)) + return null; + var offL = eltOffset(lineSpace, true); + return coordsChar(x - offL.left, y - offL.top); + } + function onContextMenu(e) { + var pos = posFromMouse(e), scrollPos = scrollbar.scrollTop; + if (!pos || opera) return; // Opera is difficult. + if (posEq(sel.from, sel.to) || posLess(pos, sel.from) || !posLess(pos, sel.to)) + operation(setCursor)(pos.line, pos.ch); + + var oldCSS = input.style.cssText; + inputDiv.style.position = "absolute"; + input.style.cssText = "position: fixed; width: 30px; height: 30px; top: " + (e.clientY - 5) + + "px; left: " + (e.clientX - 5) + "px; z-index: 1000; background: white; " + + "border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);"; + leaveInputAlone = true; + var val = input.value = getSelection(); + focusInput(); + selectInput(input); + function rehide() { + var newVal = splitLines(input.value).join("\n"); + if (newVal != val && !options.readOnly) operation(replaceSelection)(newVal, "end"); + inputDiv.style.position = "relative"; + input.style.cssText = oldCSS; + if (ie_lt9) scrollbar.scrollTop = scrollPos; + leaveInputAlone = false; + resetInput(true); + slowPoll(); + } + + if (gecko) { + e_stop(e); + var mouseup = connect(window, "mouseup", function() { + mouseup(); + setTimeout(rehide, 20); + }, true); + } else { + setTimeout(rehide, 50); + } + } + + // Cursor-blinking + function restartBlink() { + clearInterval(blinker); + var on = true; + cursor.style.visibility = ""; + blinker = setInterval(function() { + cursor.style.visibility = (on = !on) ? "" : "hidden"; + }, options.cursorBlinkRate); + } + + var matching = {"(": ")>", ")": "(<", "[": "]>", "]": "[<", "{": "}>", "}": "{<"}; + function matchBrackets(autoclear) { + var head = sel.inverted ? sel.from : sel.to, line = getLine(head.line), pos = head.ch - 1; + var match = (pos >= 0 && matching[line.text.charAt(pos)]) || matching[line.text.charAt(++pos)]; + if (!match) return; + var ch = match.charAt(0), forward = match.charAt(1) == ">", d = forward ? 1 : -1, st = line.styles; + for (var off = pos + 1, i = 0, e = st.length; i < e; i+=2) + if ((off -= st[i].length) <= 0) {var style = st[i+1]; break;} + + var stack = [line.text.charAt(pos)], re = /[(){}[\]]/; + function scan(line, from, to) { + if (!line.text) return; + var st = line.styles, pos = forward ? 0 : line.text.length - 1, cur; + for (var i = forward ? 0 : st.length - 2, e = forward ? st.length : -2; i != e; i += 2*d) { + var text = st[i]; + if (st[i+1] != style) {pos += d * text.length; continue;} + for (var j = forward ? 0 : text.length - 1, te = forward ? text.length : -1; j != te; j += d, pos+=d) { + if (pos >= from && pos < to && re.test(cur = text.charAt(j))) { + var match = matching[cur]; + if (match.charAt(1) == ">" == forward) stack.push(cur); + else if (stack.pop() != match.charAt(0)) return {pos: pos, match: false}; + else if (!stack.length) return {pos: pos, match: true}; + } + } + } + } + for (var i = head.line, e = forward ? Math.min(i + 100, doc.size) : Math.max(-1, i - 100); i != e; i+=d) { + var line = getLine(i), first = i == head.line; + var found = scan(line, first && forward ? pos + 1 : 0, first && !forward ? pos : line.text.length); + if (found) break; + } + if (!found) found = {pos: null, match: false}; + var style = found.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket"; + var one = markText({line: head.line, ch: pos}, {line: head.line, ch: pos+1}, style), + two = found.pos != null && markText({line: i, ch: found.pos}, {line: i, ch: found.pos + 1}, style); + var clear = operation(function(){one.clear(); two && two.clear();}); + if (autoclear) setTimeout(clear, 800); + else bracketHighlighted = clear; + } + + // Finds the line to start with when starting a parse. Tries to + // find a line with a stateAfter, so that it can start with a + // valid state. If that fails, it returns the line with the + // smallest indentation, which tends to need the least context to + // parse correctly. + function findStartLine(n) { + var minindent, minline; + for (var search = n, lim = n - 40; search > lim; --search) { + if (search == 0) return 0; + var line = getLine(search-1); + if (line.stateAfter) return search; + var indented = line.indentation(options.tabSize); + if (minline == null || minindent > indented) { + minline = search - 1; + minindent = indented; + } + } + return minline; + } + function getStateBefore(n) { + var start = findStartLine(n), state = start && getLine(start-1).stateAfter; + if (!state) state = startState(mode); + else state = copyState(mode, state); + doc.iter(start, n, function(line) { + line.highlight(mode, state, options.tabSize); + line.stateAfter = copyState(mode, state); + }); + if (start < n) changes.push({from: start, to: n}); + if (n < doc.size && !getLine(n).stateAfter) work.push(n); + return state; + } + function highlightLines(start, end) { + var state = getStateBefore(start); + doc.iter(start, end, function(line) { + line.highlight(mode, state, options.tabSize); + line.stateAfter = copyState(mode, state); + }); + } + function highlightWorker() { + var end = +new Date + options.workTime; + var foundWork = work.length; + while (work.length) { + if (!getLine(showingFrom).stateAfter) var task = showingFrom; + else var task = work.pop(); + if (task >= doc.size) continue; + var start = findStartLine(task), state = start && getLine(start-1).stateAfter; + if (state) state = copyState(mode, state); + else state = startState(mode); + + var unchanged = 0, compare = mode.compareStates, realChange = false, + i = start, bail = false; + doc.iter(i, doc.size, function(line) { + var hadState = line.stateAfter; + if (+new Date > end) { + work.push(i); + startWorker(options.workDelay); + if (realChange) changes.push({from: task, to: i + 1}); + return (bail = true); + } + var changed = line.highlight(mode, state, options.tabSize); + if (changed) realChange = true; + line.stateAfter = copyState(mode, state); + var done = null; + if (compare) { + var same = hadState && compare(hadState, state); + if (same != Pass) done = !!same; + } + if (done == null) { + if (changed !== false || !hadState) unchanged = 0; + else if (++unchanged > 3 && (!mode.indent || mode.indent(hadState, "") == mode.indent(state, ""))) + done = true; + } + if (done) return true; + ++i; + }); + if (bail) return; + if (realChange) changes.push({from: task, to: i + 1}); + } + if (foundWork && options.onHighlightComplete) + options.onHighlightComplete(instance); + } + function startWorker(time) { + if (!work.length) return; + highlight.set(time, operation(highlightWorker)); + } + + // Operations are used to wrap changes in such a way that each + // change won't have to update the cursor and display (which would + // be awkward, slow, and error-prone), but instead updates are + // batched and then all combined and executed at once. + function startOperation() { + updateInput = userSelChange = textChanged = null; + changes = []; selectionChanged = false; callbacks = []; + } + function endOperation() { + if (updateMaxLine) computeMaxLength(); + if (maxLineChanged && !options.lineWrapping) { + var cursorWidth = widthForcer.offsetWidth, left = measureLine(maxLine, maxLine.text.length).left; + if (!ie_lt8) { + widthForcer.style.left = left + "px"; + lineSpace.style.minWidth = (left + cursorWidth) + "px"; + } + maxLineChanged = false; + } + var newScrollPos, updated; + if (selectionChanged) { + var coords = calculateCursorCoords(); + newScrollPos = calculateScrollPos(coords.x, coords.y, coords.x, coords.yBot); + } + if (changes.length || newScrollPos && newScrollPos.scrollTop != null) + updated = updateDisplay(changes, true, newScrollPos && newScrollPos.scrollTop); + if (!updated) { + if (selectionChanged) updateSelection(); + if (gutterDirty) updateGutter(); + } + if (newScrollPos) scrollCursorIntoView(); + if (selectionChanged) restartBlink(); + + if (focused && !leaveInputAlone && + (updateInput === true || (updateInput !== false && selectionChanged))) + resetInput(userSelChange); + + if (selectionChanged && options.matchBrackets) + setTimeout(operation(function() { + if (bracketHighlighted) {bracketHighlighted(); bracketHighlighted = null;} + if (posEq(sel.from, sel.to)) matchBrackets(false); + }), 20); + var sc = selectionChanged, cbs = callbacks; // these can be reset by callbacks + if (textChanged && options.onChange && instance) + options.onChange(instance, textChanged); + if (sc && options.onCursorActivity) + options.onCursorActivity(instance); + for (var i = 0; i < cbs.length; ++i) cbs[i](instance); + if (updated && options.onUpdate) options.onUpdate(instance); + } + var nestedOperation = 0; + function operation(f) { + return function() { + if (!nestedOperation++) startOperation(); + try {var result = f.apply(this, arguments);} + finally {if (!--nestedOperation) endOperation();} + return result; + }; + } + + function compoundChange(f) { + history.startCompound(); + try { return f(); } finally { history.endCompound(); } + } + + for (var ext in extensions) + if (extensions.propertyIsEnumerable(ext) && + !instance.propertyIsEnumerable(ext)) + instance[ext] = extensions[ext]; + return instance; + } // (end of function CodeMirror) + + // The default configuration options. + CodeMirror.defaults = { + value: "", + mode: null, + theme: "default", + indentUnit: 2, + indentWithTabs: false, + smartIndent: true, + tabSize: 4, + keyMap: "default", + extraKeys: null, + electricChars: true, + autoClearEmptyLines: false, + onKeyEvent: null, + onDragEvent: null, + lineWrapping: false, + lineNumbers: false, + gutter: false, + fixedGutter: false, + firstLineNumber: 1, + readOnly: false, + dragDrop: true, + onChange: null, + onCursorActivity: null, + onViewportChange: null, + onGutterClick: null, + onHighlightComplete: null, + onUpdate: null, + onFocus: null, onBlur: null, onScroll: null, + matchBrackets: false, + cursorBlinkRate: 530, + workTime: 100, + workDelay: 200, + pollInterval: 100, + undoDepth: 40, + tabindex: null, + autofocus: null, + lineNumberFormatter: function(integer) { return integer; } + }; + + var ios = /AppleWebKit/.test(navigator.userAgent) && /Mobile\/\w+/.test(navigator.userAgent); + var mac = ios || /Mac/.test(navigator.platform); + var win = /Win/.test(navigator.platform); + + // Known modes, by name and by MIME + var modes = CodeMirror.modes = {}, mimeModes = CodeMirror.mimeModes = {}; + CodeMirror.defineMode = function(name, mode) { + if (!CodeMirror.defaults.mode && name != "null") CodeMirror.defaults.mode = name; + if (arguments.length > 2) { + mode.dependencies = []; + for (var i = 2; i < arguments.length; ++i) mode.dependencies.push(arguments[i]); + } + modes[name] = mode; + }; + CodeMirror.defineMIME = function(mime, spec) { + mimeModes[mime] = spec; + }; + CodeMirror.resolveMode = function(spec) { + if (typeof spec == "string" && mimeModes.hasOwnProperty(spec)) + spec = mimeModes[spec]; + else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+xml$/.test(spec)) + return CodeMirror.resolveMode("application/xml"); + if (typeof spec == "string") return {name: spec}; + else return spec || {name: "null"}; + }; + CodeMirror.getMode = function(options, spec) { + var spec = CodeMirror.resolveMode(spec); + var mfactory = modes[spec.name]; + if (!mfactory) return CodeMirror.getMode(options, "text/plain"); + return mfactory(options, spec); + }; + CodeMirror.listModes = function() { + var list = []; + for (var m in modes) + if (modes.propertyIsEnumerable(m)) list.push(m); + return list; + }; + CodeMirror.listMIMEs = function() { + var list = []; + for (var m in mimeModes) + if (mimeModes.propertyIsEnumerable(m)) list.push({mime: m, mode: mimeModes[m]}); + return list; + }; + + var extensions = CodeMirror.extensions = {}; + CodeMirror.defineExtension = function(name, func) { + extensions[name] = func; + }; + + var commands = CodeMirror.commands = { + selectAll: function(cm) {cm.setSelection({line: 0, ch: 0}, {line: cm.lineCount() - 1});}, + killLine: function(cm) { + var from = cm.getCursor(true), to = cm.getCursor(false), sel = !posEq(from, to); + if (!sel && cm.getLine(from.line).length == from.ch) cm.replaceRange("", from, {line: from.line + 1, ch: 0}); + else cm.replaceRange("", from, sel ? to : {line: from.line}); + }, + deleteLine: function(cm) {var l = cm.getCursor().line; cm.replaceRange("", {line: l, ch: 0}, {line: l});}, + undo: function(cm) {cm.undo();}, + redo: function(cm) {cm.redo();}, + goDocStart: function(cm) {cm.setCursor(0, 0, true);}, + goDocEnd: function(cm) {cm.setSelection({line: cm.lineCount() - 1}, null, true);}, + goLineStart: function(cm) {cm.setCursor(cm.getCursor().line, 0, true);}, + goLineStartSmart: function(cm) { + var cur = cm.getCursor(); + var text = cm.getLine(cur.line), firstNonWS = Math.max(0, text.search(/\S/)); + cm.setCursor(cur.line, cur.ch <= firstNonWS && cur.ch ? 0 : firstNonWS, true); + }, + goLineEnd: function(cm) {cm.setSelection({line: cm.getCursor().line}, null, true);}, + goLineUp: function(cm) {cm.moveV(-1, "line");}, + goLineDown: function(cm) {cm.moveV(1, "line");}, + goPageUp: function(cm) {cm.moveV(-1, "page");}, + goPageDown: function(cm) {cm.moveV(1, "page");}, + goCharLeft: function(cm) {cm.moveH(-1, "char");}, + goCharRight: function(cm) {cm.moveH(1, "char");}, + goColumnLeft: function(cm) {cm.moveH(-1, "column");}, + goColumnRight: function(cm) {cm.moveH(1, "column");}, + goWordLeft: function(cm) {cm.moveH(-1, "word");}, + goWordRight: function(cm) {cm.moveH(1, "word");}, + delCharLeft: function(cm) {cm.deleteH(-1, "char");}, + delCharRight: function(cm) {cm.deleteH(1, "char");}, + delWordLeft: function(cm) {cm.deleteH(-1, "word");}, + delWordRight: function(cm) {cm.deleteH(1, "word");}, + indentAuto: function(cm) {cm.indentSelection("smart");}, + indentMore: function(cm) {cm.indentSelection("add");}, + indentLess: function(cm) {cm.indentSelection("subtract");}, + insertTab: function(cm) {cm.replaceSelection("\t", "end");}, + defaultTab: function(cm) { + if (cm.somethingSelected()) cm.indentSelection("add"); + else cm.replaceSelection("\t", "end"); + }, + transposeChars: function(cm) { + var cur = cm.getCursor(), line = cm.getLine(cur.line); + if (cur.ch > 0 && cur.ch < line.length - 1) + cm.replaceRange(line.charAt(cur.ch) + line.charAt(cur.ch - 1), + {line: cur.line, ch: cur.ch - 1}, {line: cur.line, ch: cur.ch + 1}); + }, + newlineAndIndent: function(cm) { + cm.replaceSelection("\n", "end"); + cm.indentLine(cm.getCursor().line); + }, + toggleOverwrite: function(cm) {cm.toggleOverwrite();} + }; + + var keyMap = CodeMirror.keyMap = {}; + keyMap.basic = { + "Left": "goCharLeft", "Right": "goCharRight", "Up": "goLineUp", "Down": "goLineDown", + "End": "goLineEnd", "Home": "goLineStartSmart", "PageUp": "goPageUp", "PageDown": "goPageDown", + "Delete": "delCharRight", "Backspace": "delCharLeft", "Tab": "defaultTab", "Shift-Tab": "indentAuto", + "Enter": "newlineAndIndent", "Insert": "toggleOverwrite" + }; + // Note that the save and find-related commands aren't defined by + // default. Unknown commands are simply ignored. + keyMap.pcDefault = { + "Ctrl-A": "selectAll", "Ctrl-D": "deleteLine", "Ctrl-Z": "undo", "Shift-Ctrl-Z": "redo", "Ctrl-Y": "redo", + "Ctrl-Home": "goDocStart", "Alt-Up": "goDocStart", "Ctrl-End": "goDocEnd", "Ctrl-Down": "goDocEnd", + "Ctrl-Left": "goWordLeft", "Ctrl-Right": "goWordRight", "Alt-Left": "goLineStart", "Alt-Right": "goLineEnd", + "Ctrl-Backspace": "delWordLeft", "Ctrl-Delete": "delWordRight", "Ctrl-S": "save", "Ctrl-F": "find", + "Ctrl-G": "findNext", "Shift-Ctrl-G": "findPrev", "Shift-Ctrl-F": "replace", "Shift-Ctrl-R": "replaceAll", + "Ctrl-[": "indentLess", "Ctrl-]": "indentMore", + fallthrough: "basic" + }; + keyMap.macDefault = { + "Cmd-A": "selectAll", "Cmd-D": "deleteLine", "Cmd-Z": "undo", "Shift-Cmd-Z": "redo", "Cmd-Y": "redo", + "Cmd-Up": "goDocStart", "Cmd-End": "goDocEnd", "Cmd-Down": "goDocEnd", "Alt-Left": "goWordLeft", + "Alt-Right": "goWordRight", "Cmd-Left": "goLineStart", "Cmd-Right": "goLineEnd", "Alt-Backspace": "delWordLeft", + "Ctrl-Alt-Backspace": "delWordRight", "Alt-Delete": "delWordRight", "Cmd-S": "save", "Cmd-F": "find", + "Cmd-G": "findNext", "Shift-Cmd-G": "findPrev", "Cmd-Alt-F": "replace", "Shift-Cmd-Alt-F": "replaceAll", + "Cmd-[": "indentLess", "Cmd-]": "indentMore", + fallthrough: ["basic", "emacsy"] + }; + keyMap["default"] = mac ? keyMap.macDefault : keyMap.pcDefault; + keyMap.emacsy = { + "Ctrl-F": "goCharRight", "Ctrl-B": "goCharLeft", "Ctrl-P": "goLineUp", "Ctrl-N": "goLineDown", + "Alt-F": "goWordRight", "Alt-B": "goWordLeft", "Ctrl-A": "goLineStart", "Ctrl-E": "goLineEnd", + "Ctrl-V": "goPageUp", "Shift-Ctrl-V": "goPageDown", "Ctrl-D": "delCharRight", "Ctrl-H": "delCharLeft", + "Alt-D": "delWordRight", "Alt-Backspace": "delWordLeft", "Ctrl-K": "killLine", "Ctrl-T": "transposeChars" + }; + + function getKeyMap(val) { + if (typeof val == "string") return keyMap[val]; + else return val; + } + function lookupKey(name, extraMap, map, handle, stop) { + function lookup(map) { + map = getKeyMap(map); + var found = map[name]; + if (found === false) { + if (stop) stop(); + return true; + } + if (found != null && handle(found)) return true; + if (map.nofallthrough) { + if (stop) stop(); + return true; + } + var fallthrough = map.fallthrough; + if (fallthrough == null) return false; + if (Object.prototype.toString.call(fallthrough) != "[object Array]") + return lookup(fallthrough); + for (var i = 0, e = fallthrough.length; i < e; ++i) { + if (lookup(fallthrough[i])) return true; + } + return false; + } + if (extraMap && lookup(extraMap)) return true; + return lookup(map); + } + function isModifierKey(event) { + var name = keyNames[e_prop(event, "keyCode")]; + return name == "Ctrl" || name == "Alt" || name == "Shift" || name == "Mod"; + } + + CodeMirror.fromTextArea = function(textarea, options) { + if (!options) options = {}; + options.value = textarea.value; + if (!options.tabindex && textarea.tabindex) + options.tabindex = textarea.tabindex; + // Set autofocus to true if this textarea is focused, or if it has + // autofocus and no other element is focused. + if (options.autofocus == null) { + var hasFocus = document.body; + // doc.activeElement occasionally throws on IE + try { hasFocus = document.activeElement; } catch(e) {} + options.autofocus = hasFocus == textarea || + textarea.getAttribute("autofocus") != null && hasFocus == document.body; + } + + function save() {textarea.value = instance.getValue();} + if (textarea.form) { + // Deplorable hack to make the submit method do the right thing. + var rmSubmit = connect(textarea.form, "submit", save, true); + if (typeof textarea.form.submit == "function") { + var realSubmit = textarea.form.submit; + textarea.form.submit = function wrappedSubmit() { + save(); + textarea.form.submit = realSubmit; + textarea.form.submit(); + textarea.form.submit = wrappedSubmit; + }; + } + } + + textarea.style.display = "none"; + var instance = CodeMirror(function(node) { + textarea.parentNode.insertBefore(node, textarea.nextSibling); + }, options); + instance.save = save; + instance.getTextArea = function() { return textarea; }; + instance.toTextArea = function() { + save(); + textarea.parentNode.removeChild(instance.getWrapperElement()); + textarea.style.display = ""; + if (textarea.form) { + rmSubmit(); + if (typeof textarea.form.submit == "function") + textarea.form.submit = realSubmit; + } + }; + return instance; + }; + + var gecko = /gecko\/\d{7}/i.test(navigator.userAgent); + var ie = /MSIE \d/.test(navigator.userAgent); + var ie_lt8 = /MSIE [1-7]\b/.test(navigator.userAgent); + var ie_lt9 = /MSIE [1-8]\b/.test(navigator.userAgent); + var quirksMode = ie && document.documentMode == 5; + var webkit = /WebKit\//.test(navigator.userAgent); + var chrome = /Chrome\//.test(navigator.userAgent); + var opera = /Opera\//.test(navigator.userAgent); + var safari = /Apple Computer/.test(navigator.vendor); + var khtml = /KHTML\//.test(navigator.userAgent); + var mac_geLion = /Mac OS X 10\D([7-9]|\d\d)\D/.test(navigator.userAgent); + + // Utility functions for working with state. Exported because modes + // sometimes need to do this. + function copyState(mode, state) { + if (state === true) return state; + if (mode.copyState) return mode.copyState(state); + var nstate = {}; + for (var n in state) { + var val = state[n]; + if (val instanceof Array) val = val.concat([]); + nstate[n] = val; + } + return nstate; + } + CodeMirror.copyState = copyState; + function startState(mode, a1, a2) { + return mode.startState ? mode.startState(a1, a2) : true; + } + CodeMirror.startState = startState; + + // The character stream used by a mode's parser. + function StringStream(string, tabSize) { + this.pos = this.start = 0; + this.string = string; + this.tabSize = tabSize || 8; + } + StringStream.prototype = { + eol: function() {return this.pos >= this.string.length;}, + sol: function() {return this.pos == 0;}, + peek: function() {return this.string.charAt(this.pos) || undefined;}, + next: function() { + if (this.pos < this.string.length) + return this.string.charAt(this.pos++); + }, + eat: function(match) { + var ch = this.string.charAt(this.pos); + if (typeof match == "string") var ok = ch == match; + else var ok = ch && (match.test ? match.test(ch) : match(ch)); + if (ok) {++this.pos; return ch;} + }, + eatWhile: function(match) { + var start = this.pos; + while (this.eat(match)){} + return this.pos > start; + }, + eatSpace: function() { + var start = this.pos; + while (/[\s\u00a0]/.test(this.string.charAt(this.pos))) ++this.pos; + return this.pos > start; + }, + skipToEnd: function() {this.pos = this.string.length;}, + skipTo: function(ch) { + var found = this.string.indexOf(ch, this.pos); + if (found > -1) {this.pos = found; return true;} + }, + backUp: function(n) {this.pos -= n;}, + column: function() {return countColumn(this.string, this.start, this.tabSize);}, + indentation: function() {return countColumn(this.string, null, this.tabSize);}, + match: function(pattern, consume, caseInsensitive) { + if (typeof pattern == "string") { + var cased = function(str) {return caseInsensitive ? str.toLowerCase() : str;}; + if (cased(this.string).indexOf(cased(pattern), this.pos) == this.pos) { + if (consume !== false) this.pos += pattern.length; + return true; + } + } else { + var match = this.string.slice(this.pos).match(pattern); + if (match && consume !== false) this.pos += match[0].length; + return match; + } + }, + current: function(){return this.string.slice(this.start, this.pos);} + }; + CodeMirror.StringStream = StringStream; + + function MarkedText(from, to, className, marker) { + this.from = from; this.to = to; this.style = className; this.marker = marker; + } + MarkedText.prototype = { + attach: function(line) { this.marker.set.push(line); }, + detach: function(line) { + var ix = indexOf(this.marker.set, line); + if (ix > -1) this.marker.set.splice(ix, 1); + }, + split: function(pos, lenBefore) { + if (this.to <= pos && this.to != null) return null; + var from = this.from < pos || this.from == null ? null : this.from - pos + lenBefore; + var to = this.to == null ? null : this.to - pos + lenBefore; + return new MarkedText(from, to, this.style, this.marker); + }, + dup: function() { return new MarkedText(null, null, this.style, this.marker); }, + clipTo: function(fromOpen, from, toOpen, to, diff) { + if (fromOpen && to > this.from && (to < this.to || this.to == null)) + this.from = null; + else if (this.from != null && this.from >= from) + this.from = Math.max(to, this.from) + diff; + if (toOpen && (from < this.to || this.to == null) && (from > this.from || this.from == null)) + this.to = null; + else if (this.to != null && this.to > from) + this.to = to < this.to ? this.to + diff : from; + }, + isDead: function() { return this.from != null && this.to != null && this.from >= this.to; }, + sameSet: function(x) { return this.marker == x.marker; } + }; + + function Bookmark(pos) { + this.from = pos; this.to = pos; this.line = null; + } + Bookmark.prototype = { + attach: function(line) { this.line = line; }, + detach: function(line) { if (this.line == line) this.line = null; }, + split: function(pos, lenBefore) { + if (pos < this.from) { + this.from = this.to = (this.from - pos) + lenBefore; + return this; + } + }, + isDead: function() { return this.from > this.to; }, + clipTo: function(fromOpen, from, toOpen, to, diff) { + if ((fromOpen || from < this.from) && (toOpen || to > this.to)) { + this.from = 0; this.to = -1; + } else if (this.from > from) { + this.from = this.to = Math.max(to, this.from) + diff; + } + }, + sameSet: function(x) { return false; }, + find: function() { + if (!this.line || !this.line.parent) return null; + return {line: lineNo(this.line), ch: this.from}; + }, + clear: function() { + if (this.line) { + var found = indexOf(this.line.marked, this); + if (found != -1) this.line.marked.splice(found, 1); + this.line = null; + } + } + }; + + // When measuring the position of the end of a line, different + // browsers require different approaches. If an empty span is added, + // many browsers report bogus offsets. Of those, some (Webkit, + // recent IE) will accept a space without moving the whole span to + // the next line when wrapping it, others work with a zero-width + // space. + var eolSpanContent = " "; + if (gecko || (ie && !ie_lt8)) eolSpanContent = "\u200b"; + else if (opera) eolSpanContent = ""; + + // Line objects. These hold state related to a line, including + // highlighting info (the styles array). + function Line(text, styles) { + this.styles = styles || [text, null]; + this.text = text; + this.height = 1; + } + Line.inheritMarks = function(text, orig) { + var ln = new Line(text), mk = orig && orig.marked; + if (mk) { + for (var i = 0; i < mk.length; ++i) { + if (mk[i].to == null && mk[i].style) { + var newmk = ln.marked || (ln.marked = []), mark = mk[i]; + var nmark = mark.dup(); newmk.push(nmark); nmark.attach(ln); + } + } + } + return ln; + }; + Line.prototype = { + // Replace a piece of a line, keeping the styles around it intact. + replace: function(from, to_, text) { + var st = [], mk = this.marked, to = to_ == null ? this.text.length : to_; + copyStyles(0, from, this.styles, st); + if (text) st.push(text, null); + copyStyles(to, this.text.length, this.styles, st); + this.styles = st; + this.text = this.text.slice(0, from) + text + this.text.slice(to); + this.stateAfter = null; + if (mk) { + var diff = text.length - (to - from); + for (var i = 0; i < mk.length; ++i) { + var mark = mk[i]; + mark.clipTo(from == null, from || 0, to_ == null, to, diff); + if (mark.isDead()) {mark.detach(this); mk.splice(i--, 1);} + } + } + }, + // Split a part off a line, keeping styles and markers intact. + split: function(pos, textBefore) { + var st = [textBefore, null], mk = this.marked; + copyStyles(pos, this.text.length, this.styles, st); + var taken = new Line(textBefore + this.text.slice(pos), st); + if (mk) { + for (var i = 0; i < mk.length; ++i) { + var mark = mk[i]; + var newmark = mark.split(pos, textBefore.length); + if (newmark) { + if (!taken.marked) taken.marked = []; + taken.marked.push(newmark); newmark.attach(taken); + if (newmark == mark) mk.splice(i--, 1); + } + } + } + return taken; + }, + append: function(line) { + var mylen = this.text.length, mk = line.marked, mymk = this.marked; + this.text += line.text; + copyStyles(0, line.text.length, line.styles, this.styles); + if (mymk) { + for (var i = 0; i < mymk.length; ++i) + if (mymk[i].to == null) mymk[i].to = mylen; + } + if (mk && mk.length) { + if (!mymk) this.marked = mymk = []; + outer: for (var i = 0; i < mk.length; ++i) { + var mark = mk[i]; + if (!mark.from) { + for (var j = 0; j < mymk.length; ++j) { + var mymark = mymk[j]; + if (mymark.to == mylen && mymark.sameSet(mark)) { + mymark.to = mark.to == null ? null : mark.to + mylen; + if (mymark.isDead()) { + mymark.detach(this); + mk.splice(i--, 1); + } + continue outer; + } + } + } + mymk.push(mark); + mark.attach(this); + mark.from += mylen; + if (mark.to != null) mark.to += mylen; + } + } + }, + fixMarkEnds: function(other) { + var mk = this.marked, omk = other.marked; + if (!mk) return; + outer: for (var i = 0; i < mk.length; ++i) { + var mark = mk[i], close = mark.to == null; + if (close && omk) { + for (var j = 0; j < omk.length; ++j) { + var om = omk[j]; + if (!om.sameSet(mark) || om.from != null) continue; + if (mark.from == this.text.length && om.to == 0) { + omk.splice(j, 1); + mk.splice(i--, 1); + continue outer; + } else { + close = false; break; + } + } + } + if (close) mark.to = this.text.length; + } + }, + fixMarkStarts: function() { + var mk = this.marked; + if (!mk) return; + for (var i = 0; i < mk.length; ++i) + if (mk[i].from == null) mk[i].from = 0; + }, + addMark: function(mark) { + mark.attach(this); + if (this.marked == null) this.marked = []; + this.marked.push(mark); + this.marked.sort(function(a, b){return (a.from || 0) - (b.from || 0);}); + }, + // Run the given mode's parser over a line, update the styles + // array, which contains alternating fragments of text and CSS + // classes. + highlight: function(mode, state, tabSize) { + var stream = new StringStream(this.text, tabSize), st = this.styles, pos = 0; + var changed = false, curWord = st[0], prevWord; + if (this.text == "" && mode.blankLine) mode.blankLine(state); + while (!stream.eol()) { + var style = mode.token(stream, state); + var substr = this.text.slice(stream.start, stream.pos); + stream.start = stream.pos; + if (pos && st[pos-1] == style) + st[pos-2] += substr; + else if (substr) { + if (!changed && (st[pos+1] != style || (pos && st[pos-2] != prevWord))) changed = true; + st[pos++] = substr; st[pos++] = style; + prevWord = curWord; curWord = st[pos]; + } + // Give up when line is ridiculously long + if (stream.pos > 5000) { + st[pos++] = this.text.slice(stream.pos); st[pos++] = null; + break; + } + } + if (st.length != pos) {st.length = pos; changed = true;} + if (pos && st[pos-2] != prevWord) changed = true; + // Short lines with simple highlights return null, and are + // counted as changed by the driver because they are likely to + // highlight the same way in various contexts. + return changed || (st.length < 5 && this.text.length < 10 ? null : false); + }, + // Fetch the parser token for a given character. Useful for hacks + // that want to inspect the mode state (say, for completion). + getTokenAt: function(mode, state, tabSize, ch) { + var txt = this.text, stream = new StringStream(txt, tabSize); + while (stream.pos < ch && !stream.eol()) { + stream.start = stream.pos; + var style = mode.token(stream, state); + } + return {start: stream.start, + end: stream.pos, + string: stream.current(), + className: style || null, + state: state}; + }, + indentation: function(tabSize) {return countColumn(this.text, null, tabSize);}, + // Produces an HTML fragment for the line, taking selection, + // marking, and highlighting into account. + getElement: function(makeTab, wrapAt, wrapWBR) { + var first = true, col = 0, specials = /[\t\u0000-\u0019\u200b\u2028\u2029\uFEFF]/g; + var pre = elt("pre"); + function span_(html, text, style) { + if (!text) return; + // Work around a bug where, in some compat modes, IE ignores leading spaces + if (first && ie && text.charAt(0) == " ") text = "\u00a0" + text.slice(1); + first = false; + if (!specials.test(text)) { + col += text.length; + var content = document.createTextNode(text); + } else { + var content = document.createDocumentFragment(), pos = 0; + while (true) { + specials.lastIndex = pos; + var m = specials.exec(text); + var skipped = m ? m.index - pos : text.length - pos; + if (skipped) { + content.appendChild(document.createTextNode(text.slice(pos, pos + skipped))); + col += skipped; + } + if (!m) break; + pos += skipped + 1; + if (m[0] == "\t") { + var tab = makeTab(col); + content.appendChild(tab.element.cloneNode(true)); + col += tab.width; + } else { + var token = elt("span", "\u2022", "cm-invalidchar"); + token.title = "\\u" + m[0].charCodeAt(0).toString(16); + content.appendChild(token); + col += 1; + } + } + } + if (style) html.appendChild(elt("span", [content], style)); + else html.appendChild(content); + } + var span = span_; + if (wrapAt != null) { + var outPos = 0, anchor = pre.anchor = elt("span"); + span = function(html, text, style) { + var l = text.length; + if (wrapAt >= outPos && wrapAt < outPos + l) { + if (wrapAt > outPos) { + span_(html, text.slice(0, wrapAt - outPos), style); + // See comment at the definition of spanAffectsWrapping + if (wrapWBR) html.appendChild(elt("wbr")); + } + html.appendChild(anchor); + var cut = wrapAt - outPos; + span_(anchor, opera ? text.slice(cut, cut + 1) : text.slice(cut), style); + if (opera) span_(html, text.slice(cut + 1), style); + wrapAt--; + outPos += l; + } else { + outPos += l; + span_(html, text, style); + if (outPos == wrapAt && outPos == len) { + setTextContent(anchor, eolSpanContent); + html.appendChild(anchor); + } + // Stop outputting HTML when gone sufficiently far beyond measure + else if (outPos > wrapAt + 10 && /\s/.test(text)) span = function(){}; + } + }; + } + + var st = this.styles, allText = this.text, marked = this.marked; + var len = allText.length; + function styleToClass(style) { + if (!style) return null; + return "cm-" + style.replace(/ +/g, " cm-"); + } + if (!allText && wrapAt == null) { + span(pre, " "); + } else if (!marked || !marked.length) { + for (var i = 0, ch = 0; ch < len; i+=2) { + var str = st[i], style = st[i+1], l = str.length; + if (ch + l > len) str = str.slice(0, len - ch); + ch += l; + span(pre, str, styleToClass(style)); + } + } else { + var pos = 0, i = 0, text = "", style, sg = 0; + var nextChange = marked[0].from || 0, marks = [], markpos = 0; + var advanceMarks = function() { + var m; + while (markpos < marked.length && + ((m = marked[markpos]).from == pos || m.from == null)) { + if (m.style != null) marks.push(m); + ++markpos; + } + nextChange = markpos < marked.length ? marked[markpos].from : Infinity; + for (var i = 0; i < marks.length; ++i) { + var to = marks[i].to; + if (to == null) to = Infinity; + if (to == pos) marks.splice(i--, 1); + else nextChange = Math.min(to, nextChange); + } + }; + var m = 0; + while (pos < len) { + if (nextChange == pos) advanceMarks(); + var upto = Math.min(len, nextChange); + while (true) { + if (text) { + var end = pos + text.length; + var appliedStyle = style; + for (var j = 0; j < marks.length; ++j) + appliedStyle = (appliedStyle ? appliedStyle + " " : "") + marks[j].style; + span(pre, end > upto ? text.slice(0, upto - pos) : text, appliedStyle); + if (end >= upto) {text = text.slice(upto - pos); pos = upto; break;} + pos = end; + } + text = st[i++]; style = styleToClass(st[i++]); + } + } + } + return pre; + }, + cleanUp: function() { + this.parent = null; + if (this.marked) + for (var i = 0, e = this.marked.length; i < e; ++i) this.marked[i].detach(this); + } + }; + // Utility used by replace and split above + function copyStyles(from, to, source, dest) { + for (var i = 0, pos = 0, state = 0; pos < to; i+=2) { + var part = source[i], end = pos + part.length; + if (state == 0) { + if (end > from) dest.push(part.slice(from - pos, Math.min(part.length, to - pos)), source[i+1]); + if (end >= from) state = 1; + } else if (state == 1) { + if (end > to) dest.push(part.slice(0, to - pos), source[i+1]); + else dest.push(part, source[i+1]); + } + pos = end; + } + } + + // Data structure that holds the sequence of lines. + function LeafChunk(lines) { + this.lines = lines; + this.parent = null; + for (var i = 0, e = lines.length, height = 0; i < e; ++i) { + lines[i].parent = this; + height += lines[i].height; + } + this.height = height; + } + LeafChunk.prototype = { + chunkSize: function() { return this.lines.length; }, + remove: function(at, n, callbacks) { + for (var i = at, e = at + n; i < e; ++i) { + var line = this.lines[i]; + this.height -= line.height; + line.cleanUp(); + if (line.handlers) + for (var j = 0; j < line.handlers.length; ++j) callbacks.push(line.handlers[j]); + } + this.lines.splice(at, n); + }, + collapse: function(lines) { + lines.splice.apply(lines, [lines.length, 0].concat(this.lines)); + }, + insertHeight: function(at, lines, height) { + this.height += height; + this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at)); + for (var i = 0, e = lines.length; i < e; ++i) lines[i].parent = this; + }, + iterN: function(at, n, op) { + for (var e = at + n; at < e; ++at) + if (op(this.lines[at])) return true; + } + }; + function BranchChunk(children) { + this.children = children; + var size = 0, height = 0; + for (var i = 0, e = children.length; i < e; ++i) { + var ch = children[i]; + size += ch.chunkSize(); height += ch.height; + ch.parent = this; + } + this.size = size; + this.height = height; + this.parent = null; + } + BranchChunk.prototype = { + chunkSize: function() { return this.size; }, + remove: function(at, n, callbacks) { + this.size -= n; + for (var i = 0; i < this.children.length; ++i) { + var child = this.children[i], sz = child.chunkSize(); + if (at < sz) { + var rm = Math.min(n, sz - at), oldHeight = child.height; + child.remove(at, rm, callbacks); + this.height -= oldHeight - child.height; + if (sz == rm) { this.children.splice(i--, 1); child.parent = null; } + if ((n -= rm) == 0) break; + at = 0; + } else at -= sz; + } + if (this.size - n < 25) { + var lines = []; + this.collapse(lines); + this.children = [new LeafChunk(lines)]; + this.children[0].parent = this; + } + }, + collapse: function(lines) { + for (var i = 0, e = this.children.length; i < e; ++i) this.children[i].collapse(lines); + }, + insert: function(at, lines) { + var height = 0; + for (var i = 0, e = lines.length; i < e; ++i) height += lines[i].height; + this.insertHeight(at, lines, height); + }, + insertHeight: function(at, lines, height) { + this.size += lines.length; + this.height += height; + for (var i = 0, e = this.children.length; i < e; ++i) { + var child = this.children[i], sz = child.chunkSize(); + if (at <= sz) { + child.insertHeight(at, lines, height); + if (child.lines && child.lines.length > 50) { + while (child.lines.length > 50) { + var spilled = child.lines.splice(child.lines.length - 25, 25); + var newleaf = new LeafChunk(spilled); + child.height -= newleaf.height; + this.children.splice(i + 1, 0, newleaf); + newleaf.parent = this; + } + this.maybeSpill(); + } + break; + } + at -= sz; + } + }, + maybeSpill: function() { + if (this.children.length <= 10) return; + var me = this; + do { + var spilled = me.children.splice(me.children.length - 5, 5); + var sibling = new BranchChunk(spilled); + if (!me.parent) { // Become the parent node + var copy = new BranchChunk(me.children); + copy.parent = me; + me.children = [copy, sibling]; + me = copy; + } else { + me.size -= sibling.size; + me.height -= sibling.height; + var myIndex = indexOf(me.parent.children, me); + me.parent.children.splice(myIndex + 1, 0, sibling); + } + sibling.parent = me.parent; + } while (me.children.length > 10); + me.parent.maybeSpill(); + }, + iter: function(from, to, op) { this.iterN(from, to - from, op); }, + iterN: function(at, n, op) { + for (var i = 0, e = this.children.length; i < e; ++i) { + var child = this.children[i], sz = child.chunkSize(); + if (at < sz) { + var used = Math.min(n, sz - at); + if (child.iterN(at, used, op)) return true; + if ((n -= used) == 0) break; + at = 0; + } else at -= sz; + } + } + }; + + function getLineAt(chunk, n) { + while (!chunk.lines) { + for (var i = 0;; ++i) { + var child = chunk.children[i], sz = child.chunkSize(); + if (n < sz) { chunk = child; break; } + n -= sz; + } + } + return chunk.lines[n]; + } + function lineNo(line) { + if (line.parent == null) return null; + var cur = line.parent, no = indexOf(cur.lines, line); + for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) { + for (var i = 0, e = chunk.children.length; ; ++i) { + if (chunk.children[i] == cur) break; + no += chunk.children[i].chunkSize(); + } + } + return no; + } + function lineAtHeight(chunk, h) { + var n = 0; + outer: do { + for (var i = 0, e = chunk.children.length; i < e; ++i) { + var child = chunk.children[i], ch = child.height; + if (h < ch) { chunk = child; continue outer; } + h -= ch; + n += child.chunkSize(); + } + return n; + } while (!chunk.lines); + for (var i = 0, e = chunk.lines.length; i < e; ++i) { + var line = chunk.lines[i], lh = line.height; + if (h < lh) break; + h -= lh; + } + return n + i; + } + function heightAtLine(chunk, n) { + var h = 0; + outer: do { + for (var i = 0, e = chunk.children.length; i < e; ++i) { + var child = chunk.children[i], sz = child.chunkSize(); + if (n < sz) { chunk = child; continue outer; } + n -= sz; + h += child.height; + } + return h; + } while (!chunk.lines); + for (var i = 0; i < n; ++i) h += chunk.lines[i].height; + return h; + } + + // The history object 'chunks' changes that are made close together + // and at almost the same time into bigger undoable units. + function History() { + this.time = 0; + this.done = []; this.undone = []; + this.compound = 0; + this.closed = false; + } + History.prototype = { + addChange: function(start, added, old) { + this.undone.length = 0; + var time = +new Date, cur = this.done[this.done.length - 1], last = cur && cur[cur.length - 1]; + var dtime = time - this.time; + + if (this.compound && cur && !this.closed) { + cur.push({start: start, added: added, old: old}); + } else if (dtime > 400 || !last || this.closed || + last.start > start + old.length || last.start + last.added < start) { + this.done.push([{start: start, added: added, old: old}]); + this.closed = false; + } else { + var startBefore = Math.max(0, last.start - start), + endAfter = Math.max(0, (start + old.length) - (last.start + last.added)); + for (var i = startBefore; i > 0; --i) last.old.unshift(old[i - 1]); + for (var i = endAfter; i > 0; --i) last.old.push(old[old.length - i]); + if (startBefore) last.start = start; + last.added += added - (old.length - startBefore - endAfter); + } + this.time = time; + }, + startCompound: function() { + if (!this.compound++) this.closed = true; + }, + endCompound: function() { + if (!--this.compound) this.closed = true; + } + }; + + function stopMethod() {e_stop(this);} + // Ensure an event has a stop method. + function addStop(event) { + if (!event.stop) event.stop = stopMethod; + return event; + } + + function e_preventDefault(e) { + if (e.preventDefault) e.preventDefault(); + else e.returnValue = false; + } + function e_stopPropagation(e) { + if (e.stopPropagation) e.stopPropagation(); + else e.cancelBubble = true; + } + function e_stop(e) {e_preventDefault(e); e_stopPropagation(e);} + CodeMirror.e_stop = e_stop; + CodeMirror.e_preventDefault = e_preventDefault; + CodeMirror.e_stopPropagation = e_stopPropagation; + + function e_target(e) {return e.target || e.srcElement;} + function e_button(e) { + var b = e.which; + if (b == null) { + if (e.button & 1) b = 1; + else if (e.button & 2) b = 3; + else if (e.button & 4) b = 2; + } + if (mac && e.ctrlKey && b == 1) b = 3; + return b; + } + + // Allow 3rd-party code to override event properties by adding an override + // object to an event object. + function e_prop(e, prop) { + var overridden = e.override && e.override.hasOwnProperty(prop); + return overridden ? e.override[prop] : e[prop]; + } + + // Event handler registration. If disconnect is true, it'll return a + // function that unregisters the handler. + function connect(node, type, handler, disconnect) { + if (typeof node.addEventListener == "function") { + node.addEventListener(type, handler, false); + if (disconnect) return function() {node.removeEventListener(type, handler, false);}; + } else { + var wrapHandler = function(event) {handler(event || window.event);}; + node.attachEvent("on" + type, wrapHandler); + if (disconnect) return function() {node.detachEvent("on" + type, wrapHandler);}; + } + } + CodeMirror.connect = connect; + + function Delayed() {this.id = null;} + Delayed.prototype = {set: function(ms, f) {clearTimeout(this.id); this.id = setTimeout(f, ms);}}; + + var Pass = CodeMirror.Pass = {toString: function(){return "CodeMirror.Pass";}}; + + // Detect drag-and-drop + var dragAndDrop = function() { + // There is *some* kind of drag-and-drop support in IE6-8, but I + // couldn't get it to work yet. + if (ie_lt9) return false; + var div = elt('div'); + return "draggable" in div || "dragDrop" in div; + }(); + + // Feature-detect whether newlines in textareas are converted to \r\n + var lineSep = function () { + var te = elt("textarea"); + te.value = "foo\nbar"; + if (te.value.indexOf("\r") > -1) return "\r\n"; + return "\n"; + }(); + + // For a reason I have yet to figure out, some browsers disallow + // word wrapping between certain characters *only* if a new inline + // element is started between them. This makes it hard to reliably + // measure the position of things, since that requires inserting an + // extra span. This terribly fragile set of regexps matches the + // character combinations that suffer from this phenomenon on the + // various browsers. + var spanAffectsWrapping = /^$/; // Won't match any two-character string + if (gecko) spanAffectsWrapping = /$'/; + else if (safari) spanAffectsWrapping = /\-[^ \-?]|\?[^ !'\"\),.\-\/:;\?\]\}]/; + else if (chrome) spanAffectsWrapping = /\-[^ \-\.?]|\?[^ \-\.?\]\}:;!'\"\),\/]|[\.!\"#&%\)*+,:;=>\]|\}~][\(\{\[<]|\$'/; + + // Counts the column offset in a string, taking tabs into account. + // Used mostly to find indentation. + function countColumn(string, end, tabSize) { + if (end == null) { + end = string.search(/[^\s\u00a0]/); + if (end == -1) end = string.length; + } + for (var i = 0, n = 0; i < end; ++i) { + if (string.charAt(i) == "\t") n += tabSize - (n % tabSize); + else ++n; + } + return n; + } + + function eltOffset(node, screen) { + // Take the parts of bounding client rect that we are interested in so we are able to edit if need be, + // since the returned value cannot be changed externally (they are kept in sync as the element moves within the page) + try { var box = node.getBoundingClientRect(); box = { top: box.top, left: box.left }; } + catch(e) { box = {top: 0, left: 0}; } + if (!screen) { + // Get the toplevel scroll, working around browser differences. + if (window.pageYOffset == null) { + var t = document.documentElement || document.body.parentNode; + if (t.scrollTop == null) t = document.body; + box.top += t.scrollTop; box.left += t.scrollLeft; + } else { + box.top += window.pageYOffset; box.left += window.pageXOffset; + } + } + return box; + } + + // Get a node's text content. + function eltText(node) { + return node.textContent || node.innerText || node.nodeValue || ""; + } + function selectInput(node) { + if (ios) { // Mobile Safari apparently has a bug where select() is broken. + node.selectionStart = 0; + node.selectionEnd = node.value.length; + } else node.select(); + } + + // Operations on {line, ch} objects. + function posEq(a, b) {return a.line == b.line && a.ch == b.ch;} + function posLess(a, b) {return a.line < b.line || (a.line == b.line && a.ch < b.ch);} + function copyPos(x) {return {line: x.line, ch: x.ch};} + + function elt(tag, content, className, style) { + var e = document.createElement(tag); + if (className) e.className = className; + if (style) e.style.cssText = style; + if (typeof content == "string") setTextContent(e, content); + else if (content) for (var i = 0; i < content.length; ++i) e.appendChild(content[i]); + return e; + } + function removeChildren(e) { + e.innerHTML = ""; + return e; + } + function removeChildrenAndAdd(parent, e) { + removeChildren(parent).appendChild(e); + } + function setTextContent(e, str) { + if (ie_lt9) { + e.innerHTML = ""; + e.appendChild(document.createTextNode(str)); + } else e.textContent = str; + } + CodeMirror.setTextContent = setTextContent; + + // Used to position the cursor after an undo/redo by finding the + // last edited character. + function editEnd(from, to) { + if (!to) return 0; + if (!from) return to.length; + for (var i = from.length, j = to.length; i >= 0 && j >= 0; --i, --j) + if (from.charAt(i) != to.charAt(j)) break; + return j + 1; + } + + function indexOf(collection, elt) { + if (collection.indexOf) return collection.indexOf(elt); + for (var i = 0, e = collection.length; i < e; ++i) + if (collection[i] == elt) return i; + return -1; + } + function isWordChar(ch) { + return /\w/.test(ch) || ch.toUpperCase() != ch.toLowerCase(); + } + + // See if "".split is the broken IE version, if so, provide an + // alternative way to split lines. + var splitLines = "\n\nb".split(/\n/).length != 3 ? function(string) { + var pos = 0, result = [], l = string.length; + while (pos <= l) { + var nl = string.indexOf("\n", pos); + if (nl == -1) nl = string.length; + var line = string.slice(pos, string.charAt(nl - 1) == "\r" ? nl - 1 : nl); + var rt = line.indexOf("\r"); + if (rt != -1) { + result.push(line.slice(0, rt)); + pos += rt + 1; + } else { + result.push(line); + pos = nl + 1; + } + } + return result; + } : function(string){return string.split(/\r\n?|\n/);}; + CodeMirror.splitLines = splitLines; + + var hasSelection = window.getSelection ? function(te) { + try { return te.selectionStart != te.selectionEnd; } + catch(e) { return false; } + } : function(te) { + try {var range = te.ownerDocument.selection.createRange();} + catch(e) {} + if (!range || range.parentElement() != te) return false; + return range.compareEndPoints("StartToEnd", range) != 0; + }; + + CodeMirror.defineMode("null", function() { + return {token: function(stream) {stream.skipToEnd();}}; + }); + CodeMirror.defineMIME("text/plain", "null"); + + var keyNames = {3: "Enter", 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Ctrl", 18: "Alt", + 19: "Pause", 20: "CapsLock", 27: "Esc", 32: "Space", 33: "PageUp", 34: "PageDown", 35: "End", + 36: "Home", 37: "Left", 38: "Up", 39: "Right", 40: "Down", 44: "PrintScrn", 45: "Insert", + 46: "Delete", 59: ";", 91: "Mod", 92: "Mod", 93: "Mod", 109: "-", 107: "=", 127: "Delete", + 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", + 221: "]", 222: "'", 63276: "PageUp", 63277: "PageDown", 63275: "End", 63273: "Home", + 63234: "Left", 63232: "Up", 63235: "Right", 63233: "Down", 63302: "Insert", 63272: "Delete"}; + CodeMirror.keyNames = keyNames; + (function() { + // Number keys + for (var i = 0; i < 10; i++) keyNames[i + 48] = String(i); + // Alphabetic keys + for (var i = 65; i <= 90; i++) keyNames[i] = String.fromCharCode(i); + // Function keys + for (var i = 1; i <= 12; i++) keyNames[i + 111] = keyNames[i + 63235] = "F" + i; + })(); + + return CodeMirror; +})(); diff --git a/v3/js/codemirror/python.js b/v3/js/codemirror/python.js new file mode 100644 index 000000000..fc5b9551c --- /dev/null +++ b/v3/js/codemirror/python.js @@ -0,0 +1,338 @@ +CodeMirror.defineMode("python", function(conf, parserConf) { + var ERRORCLASS = 'error'; + + function wordRegexp(words) { + return new RegExp("^((" + words.join(")|(") + "))\\b"); + } + + var singleOperators = new RegExp("^[\\+\\-\\*/%&|\\^~<>!]"); + var singleDelimiters = new RegExp('^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]'); + var doubleOperators = new RegExp("^((==)|(!=)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"); + var doubleDelimiters = new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"); + var tripleDelimiters = new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"); + var identifiers = new RegExp("^[_A-Za-z][_A-Za-z0-9]*"); + + var wordOperators = wordRegexp(['and', 'or', 'not', 'is', 'in']); + var commonkeywords = ['as', 'assert', 'break', 'class', 'continue', + 'def', 'del', 'elif', 'else', 'except', 'finally', + 'for', 'from', 'global', 'if', 'import', + 'lambda', 'pass', 'raise', 'return', + 'try', 'while', 'with', 'yield']; + var commonBuiltins = ['abs', 'all', 'any', 'bin', 'bool', 'bytearray', 'callable', 'chr', + 'classmethod', 'compile', 'complex', 'delattr', 'dict', 'dir', 'divmod', + 'enumerate', 'eval', 'filter', 'float', 'format', 'frozenset', + 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', + 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', + 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', + 'object', 'oct', 'open', 'ord', 'pow', 'property', 'range', + 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', + 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', + 'type', 'vars', 'zip', '__import__', 'NotImplemented', + 'Ellipsis', '__debug__']; + var py2 = {'builtins': ['apply', 'basestring', 'buffer', 'cmp', 'coerce', 'execfile', + 'file', 'intern', 'long', 'raw_input', 'reduce', 'reload', + 'unichr', 'unicode', 'xrange', 'False', 'True', 'None'], + 'keywords': ['exec', 'print']}; + var py3 = {'builtins': ['ascii', 'bytes', 'exec', 'print'], + 'keywords': ['nonlocal', 'False', 'True', 'None']}; + + if (!!parserConf.version && parseInt(parserConf.version, 10) === 3) { + commonkeywords = commonkeywords.concat(py3.keywords); + commonBuiltins = commonBuiltins.concat(py3.builtins); + var stringPrefixes = new RegExp("^(([rb]|(br))?('{3}|\"{3}|['\"]))", "i"); + } else { + commonkeywords = commonkeywords.concat(py2.keywords); + commonBuiltins = commonBuiltins.concat(py2.builtins); + var stringPrefixes = new RegExp("^(([rub]|(ur)|(br))?('{3}|\"{3}|['\"]))", "i"); + } + var keywords = wordRegexp(commonkeywords); + var builtins = wordRegexp(commonBuiltins); + + var indentInfo = null; + + // tokenizers + function tokenBase(stream, state) { + // Handle scope changes + if (stream.sol()) { + var scopeOffset = state.scopes[0].offset; + if (stream.eatSpace()) { + var lineOffset = stream.indentation(); + if (lineOffset > scopeOffset) { + indentInfo = 'indent'; + } else if (lineOffset < scopeOffset) { + indentInfo = 'dedent'; + } + return null; + } else { + if (scopeOffset > 0) { + dedent(stream, state); + } + } + } + if (stream.eatSpace()) { + return null; + } + + var ch = stream.peek(); + + // Handle Comments + if (ch === '#') { + stream.skipToEnd(); + return 'comment'; + } + + // Handle Number Literals + if (stream.match(/^[0-9\.]/, false)) { + var floatLiteral = false; + // Floats + if (stream.match(/^\d*\.\d+(e[\+\-]?\d+)?/i)) { floatLiteral = true; } + if (stream.match(/^\d+\.\d*/)) { floatLiteral = true; } + if (stream.match(/^\.\d+/)) { floatLiteral = true; } + if (floatLiteral) { + // Float literals may be "imaginary" + stream.eat(/J/i); + return 'number'; + } + // Integers + var intLiteral = false; + // Hex + if (stream.match(/^0x[0-9a-f]+/i)) { intLiteral = true; } + // Binary + if (stream.match(/^0b[01]+/i)) { intLiteral = true; } + // Octal + if (stream.match(/^0o[0-7]+/i)) { intLiteral = true; } + // Decimal + if (stream.match(/^[1-9]\d*(e[\+\-]?\d+)?/)) { + // Decimal literals may be "imaginary" + stream.eat(/J/i); + // TODO - Can you have imaginary longs? + intLiteral = true; + } + // Zero by itself with no other piece of number. + if (stream.match(/^0(?![\dx])/i)) { intLiteral = true; } + if (intLiteral) { + // Integer literals may be "long" + stream.eat(/L/i); + return 'number'; + } + } + + // Handle Strings + if (stream.match(stringPrefixes)) { + state.tokenize = tokenStringFactory(stream.current()); + return state.tokenize(stream, state); + } + + // Handle operators and Delimiters + if (stream.match(tripleDelimiters) || stream.match(doubleDelimiters)) { + return null; + } + if (stream.match(doubleOperators) + || stream.match(singleOperators) + || stream.match(wordOperators)) { + return 'operator'; + } + if (stream.match(singleDelimiters)) { + return null; + } + + if (stream.match(keywords)) { + return 'keyword'; + } + + if (stream.match(builtins)) { + return 'builtin'; + } + + if (stream.match(identifiers)) { + return 'variable'; + } + + // Handle non-detected items + stream.next(); + return ERRORCLASS; + } + + function tokenStringFactory(delimiter) { + while ('rub'.indexOf(delimiter.charAt(0).toLowerCase()) >= 0) { + delimiter = delimiter.substr(1); + } + var singleline = delimiter.length == 1; + var OUTCLASS = 'string'; + + return function tokenString(stream, state) { + while (!stream.eol()) { + stream.eatWhile(/[^'"\\]/); + if (stream.eat('\\')) { + stream.next(); + if (singleline && stream.eol()) { + return OUTCLASS; + } + } else if (stream.match(delimiter)) { + state.tokenize = tokenBase; + return OUTCLASS; + } else { + stream.eat(/['"]/); + } + } + if (singleline) { + if (parserConf.singleLineStringErrors) { + return ERRORCLASS; + } else { + state.tokenize = tokenBase; + } + } + return OUTCLASS; + }; + } + + function indent(stream, state, type) { + type = type || 'py'; + var indentUnit = 0; + if (type === 'py') { + if (state.scopes[0].type !== 'py') { + state.scopes[0].offset = stream.indentation(); + return; + } + for (var i = 0; i < state.scopes.length; ++i) { + if (state.scopes[i].type === 'py') { + indentUnit = state.scopes[i].offset + conf.indentUnit; + break; + } + } + } else { + indentUnit = stream.column() + stream.current().length; + } + state.scopes.unshift({ + offset: indentUnit, + type: type + }); + } + + function dedent(stream, state, type) { + type = type || 'py'; + if (state.scopes.length == 1) return; + if (state.scopes[0].type === 'py') { + var _indent = stream.indentation(); + var _indent_index = -1; + for (var i = 0; i < state.scopes.length; ++i) { + if (_indent === state.scopes[i].offset) { + _indent_index = i; + break; + } + } + if (_indent_index === -1) { + return true; + } + while (state.scopes[0].offset !== _indent) { + state.scopes.shift(); + } + return false; + } else { + if (type === 'py') { + state.scopes[0].offset = stream.indentation(); + return false; + } else { + if (state.scopes[0].type != type) { + return true; + } + state.scopes.shift(); + return false; + } + } + } + + function tokenLexer(stream, state) { + indentInfo = null; + var style = state.tokenize(stream, state); + var current = stream.current(); + + // Handle '.' connected identifiers + if (current === '.') { + style = stream.match(identifiers, false) ? null : ERRORCLASS; + if (style === null && state.lastToken === 'meta') { + // Apply 'meta' style to '.' connected identifiers when + // appropriate. + style = 'meta'; + } + return style; + } + + // Handle decorators + if (current === '@') { + return stream.match(identifiers, false) ? 'meta' : ERRORCLASS; + } + + if ((style === 'variable' || style === 'builtin') + && state.lastToken === 'meta') { + style = 'meta'; + } + + // Handle scope changes. + if (current === 'pass' || current === 'return') { + state.dedent += 1; + } + if (current === 'lambda') state.lambda = true; + if ((current === ':' && !state.lambda && state.scopes[0].type == 'py') + || indentInfo === 'indent') { + indent(stream, state); + } + var delimiter_index = '[({'.indexOf(current); + if (delimiter_index !== -1) { + indent(stream, state, '])}'.slice(delimiter_index, delimiter_index+1)); + } + if (indentInfo === 'dedent') { + if (dedent(stream, state)) { + return ERRORCLASS; + } + } + delimiter_index = '])}'.indexOf(current); + if (delimiter_index !== -1) { + if (dedent(stream, state, current)) { + return ERRORCLASS; + } + } + if (state.dedent > 0 && stream.eol() && state.scopes[0].type == 'py') { + if (state.scopes.length > 1) state.scopes.shift(); + state.dedent -= 1; + } + + return style; + } + + var external = { + startState: function(basecolumn) { + return { + tokenize: tokenBase, + scopes: [{offset:basecolumn || 0, type:'py'}], + lastToken: null, + lambda: false, + dedent: 0 + }; + }, + + token: function(stream, state) { + var style = tokenLexer(stream, state); + + state.lastToken = style; + + if (stream.eol() && stream.lambda) { + state.lambda = false; + } + + return style; + }, + + indent: function(state, textAfter) { + if (state.tokenize != tokenBase) { + return 0; + } + + return state.scopes[0].offset; + } + + }; + return external; +}); + +CodeMirror.defineMIME("text/x-python", "python"); diff --git a/v3/js/d3.v2.min.js b/v3/js/d3.v2.min.js new file mode 100644 index 000000000..2a1e13110 --- /dev/null +++ b/v3/js/d3.v2.min.js @@ -0,0 +1,4 @@ +(function(){function d(a,b){try{for(var c in b)Object.defineProperty(a.prototype,c,{value:b[c],enumerable:!1})}catch(d){a.prototype=b}}function f(a){var b=-1,c=a.length,d=[];while(++b=0?a.substring(b):(b=a.length,""),d=[];while(b>0)d.push(a.substring(b-=3,b+3));return d.reverse().join(",")+c}function H(a,b){var c=Math.pow(10,Math.abs(8-b)*3);return{scale:b>8?function(a){return a/c}:function(a){return a*c},symbol:a}}function N(a){return function(b){return b<=0?0:b>=1?1:a(b)}}function O(a){return function(b){return 1-a(1-b)}}function P(a){return function(b){return.5*(b<.5?a(2*b):2-a(2-2*b))}}function Q(a){return a}function R(a){return function(b){return Math.pow(b,a)}}function S(a){return 1-Math.cos(a*Math.PI/2)}function T(a){return Math.pow(2,10*(a-1))}function U(a){return 1-Math.sqrt(1-a*a)}function V(a,b){var c;return arguments.length<2&&(b=.45),arguments.length<1?(a=1,c=b/4):c=b/(2*Math.PI)*Math.asin(1/a),function(d){return 1+a*Math.pow(2,10*-d)*Math.sin((d-c)*2*Math.PI/b)}}function W(a){return a||(a=1.70158),function(b){return b*b*((a+1)*b-a)}}function X(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}function Y(){d3.event.stopPropagation(),d3.event.preventDefault()}function Z(){var a=d3.event,b;while(b=a.sourceEvent)a=b;return a}function $(a){var b=new z,c=0,d=arguments.length;while(++c360?a-=360:a<0&&(a+=360),a<60?d+(e-d)*a/60:a<180?e:a<240?d+(e-d)*(240-a)/60:d}function g(a){return Math.round(f(a)*255)}var d,e;return a%=360,a<0&&(a+=360),b=b<0?0:b>1?1:b,c=c<0?0:c>1?1:c,e=c<=.5?c*(1+b):c+b-c*b,d=2*c-e,bd(g(a+120),g(a),g(a-120))}function bn(a){return i(a,bt),a}function bu(a){return function(){return bo(a,this)}}function bv(a){return function(){return bp(a,this)}}function bw(a,b){function f(){if(b=this.classList)return b.add(a);var b=this.className,d=b.baseVal!=null,e=d?b.baseVal:b;c.lastIndex=0,c.test(e)||(e=v(e+" "+a),d?b.baseVal=e:this.className=e)}function g(){if(b=this.classList)return b.remove(a);var b=this.className,d=b.baseVal!=null,e=d?b.baseVal:b;e=v(e.replace(c," ")),d?b.baseVal=e:this.className=e}function h(){(b.apply(this,arguments)?f:g).call(this)}var c=new RegExp("(^|\\s+)"+d3.requote(a)+"(\\s+|$)","g");if(arguments.length<2){var d=this.node();if(e=d.classList)return e.contains(a);var e=d.className;return c.lastIndex=0,c.test(e.baseVal!=null?e.baseVal:e)}return this.each(typeof b=="function"?h:b?f:g)}function bx(a){return{__data__:a}}function by(a){return function(){return bs(this,a)}}function bz(a){return arguments.length||(a=d3.ascending),function(b,c){return a(b&&b.__data__,c&&c.__data__)}}function bA(a,b){for(var c=0,d=a.length;cb?q():(m.active=b,d.forEach(function(b,c){(c=c.call(a,n,h))&&j.push(c)}),e.start.call(a,n,h),p(f)||d3.timer(p,0,c),1)}function p(c){if(m.active!==b)return q();var d=(c-k)/l,g=f(d),i=j.length;while(i>0)j[--i].call(a,g);if(d>=1)return q(),bK=b,e.end.call(a,n,h),bK=0,1}function q(){return--m.count||delete a.__transition__,1}var j=[],k=a.delay,l=a.duration,m=(a=a.node).__transition__||(a.__transition__={active:0,count:0}),n=a.__data__;++m.count,k<=g?o(g):d3.timer(o,k,c)})},0,c),a}function bG(a,b,c){return c!=""&&bF}function bH(a,b){function d(a,d,e){var f=b.call(this,a,d);return f==null?e!=""&&bF:e!=f&&c(e,f)}function e(a,d,e){return e!=b&&c(e,b)}var c=ba(a);return typeof b=="function"?d:b==null?bG:(b+="",e)}function bR(a){var b=bK,c=bQ,d=bO,e=bP;return bK=this.id,bQ=this.ease(),bA(this,function(b,c,d){bO=b.delay,bP=b.duration,a.call(b=b.node,b.__data__,c,d)}),bK=b,bQ=c,bO=d,bP=e,this}function bV(){var a,b=Date.now(),c=bS;while(c)a=b-c.then,a>=c.delay&&(c.flush=c.callback(a)),c=c.next;var d=bW()-b;d>24?(isFinite(d)&&(clearTimeout(bU),bU=setTimeout(bV,d)),bT=0):(bT=1,bX(bV))}function bW(){var a=null,b=bS,c=Infinity;while(b)b.flush?b=a?a.next=b.next:bS=b.next:(c=Math.min(c,b.then+b.delay),b=(a=b).next);return c}function bY(a){var b=[a.a,a.b],c=[a.c,a.d],d=b$(b),e=bZ(b,c),f=b$(b_(c,b,-e))||0;b[0]*c[1]2?cp:co,i=d?bc:bb;return e=g(a,b,i,c),f=g(b,a,i,d3.interpolate),h}function h(a){return e(a)}var e,f;return h.invert=function(a){return f(a)},h.domain=function(b){return arguments.length?(a=b.map(Number),g()):a},h.range=function(a){return arguments.length?(b=a,g()):b},h.rangeRound=function(a){return h.range(a).interpolate(d3.interpolateRound)},h.clamp=function(a){return arguments.length?(d=a,g()):d},h.interpolate=function(a){return arguments.length?(c=a,g()):c},h.ticks=function(b){return cm(a,b)},h.tickFormat=function(b){return cn(a,b)},h.nice=function(){return cg(a,ck),g()},h.copy=function(){return ci(a,b,c,d)},g()}function cj(a,b){return d3.rebind(a,b,"range","rangeRound","interpolate","clamp")}function ck(a){return a=Math.pow(10,Math.round(Math.log(a)/Math.LN10)-1),{floor:function(b){return Math.floor(b/a)*a},ceil:function(b){return Math.ceil(b/a)*a}}}function cl(a,b){var c=ce(a),d=c[1]-c[0],e=Math.pow(10,Math.floor(Math.log(d/b)/Math.LN10)),f=b/d*e;return f<=.15?e*=10:f<=.35?e*=5:f<=.75&&(e*=2),c[0]=Math.ceil(c[0]/e)*e,c[1]=Math.floor(c[1]/e)*e+e*.5,c[2]=e,c}function cm(a,b){return d3.range.apply(d3,cl(a,b))}function cn(a,b){return d3.format(",."+Math.max(0,-Math.floor(Math.log(cl(a,b)[2])/Math.LN10+.01))+"f")}function co(a,b,c,d){var e=c(a[0],a[1]),f=d(b[0],b[1]);return function(a){return f(e(a))}}function cp(a,b,c,d){var e=[],f=[],g=0,h=Math.min(a.length,b.length)-1;a[h]0;j--)e.push(c(f)*j)}else{for(;fi;g--);e=e.slice(f,g)}return e},d.tickFormat=function(a,e){arguments.length<2&&(e=cr);if(arguments.length<1)return e;var f=Math.max(.1,a/d.ticks().length),g=b===ct?(h=-1e-12,Math.floor):(h=1e-12,Math.ceil),h;return function(a){return a/c(g(b(a)+h))<=f?e(a):""}},d.copy=function(){return cq(a.copy(),b)},cj(d,a)}function cs(a){return Math.log(a<0?0:a)/Math.LN10}function ct(a){return-Math.log(a>0?0:-a)/Math.LN10}function cu(a,b){function e(b){return a(c(b))}var c=cv(b),d=cv(1/b);return e.invert=function(b){return d(a.invert(b))},e.domain=function(b){return arguments.length?(a.domain(b.map(c)),e):a.domain().map(d)},e.ticks=function(a){return cm(e.domain(),a)},e.tickFormat=function(a){return cn(e.domain(),a)},e.nice=function(){return e.domain(cg(e.domain(),ck))},e.exponent=function(a){if(!arguments.length)return b;var f=e.domain();return c=cv(b=a),d=cv(1/b),e.domain(f)},e.copy=function(){return cu(a.copy(),b)},cj(e,a)}function cv(a){return function(b){return b<0?-Math.pow(-b,a):Math.pow(b,a)}}function cw(a,b){function f(b){return d[((c.get(b)||c.set(b,a.push(b)))-1)%d.length]}function g(b,c){return d3.range(a.length).map(function(a){return b+c*a})}var c,d,e;return f.domain=function(d){if(!arguments.length)return a;a=[],c=new j;var e=-1,g=d.length,h;while(++e1){h=b[1],f=a[i],i++,d+="C"+(e[0]+g[0])+","+(e[1]+g[1])+","+(f[0]-h[0])+","+(f[1]-h[1])+","+f[0]+","+f[1];for(var j=2;j9&&(f=c*3/Math.sqrt(f),g[h]=f*d,g[h+1]=f*e));h=-1;while(++h<=i)f=(a[Math.min(i,h+1)][0]-a[Math.max(0,h-1)][0])/(6*(1+g[h]*g[h])),b.push([f||0,g[h]*f||0]);return b}function dh(a){return a.length<3?cP(a):a[0]+cV(a,dg(a))}function di(a){var b,c=-1,d=a.length,e,f;while(++c1){var d=ce(a.domain()),e,f=-1,g=b.length,h=(b[1]-b[0])/++c,i,j;while(++f0;)(j=+b[f]-i*h)>=d[0]&&e.push(j);for(--f,i=0;++id&&(c=b,d=e);return c}function d_(a){return a.reduce(ea,0)}function ea(a,b){return a+b[1]}function eb(a,b){return ec(a,Math.ceil(Math.log(b.length)/Math.LN2+1))}function ec(a,b){var c=-1,d=+a[0],e=(a[1]-d)/b,f=[];while(++c<=b)f[c]=e*c+d;return f}function ed(a){return[d3.min(a),d3.max(a)]}function ee(a,b){return d3.rebind(a,b,"sort","children","value"),a.links=ei,a.nodes=function(b){return ej=!0,(a.nodes=a)(b)},a}function ef(a){return a.children}function eg(a){return a.value}function eh(a,b){return b.value-a.value}function ei(a){return d3.merge(a.map(function(a){return(a.children||[]).map(function(b){return{source:a,target:b}})}))}function ek(a,b){return a.value-b.value}function el(a,b){var c=a._pack_next;a._pack_next=b,b._pack_prev=a,b._pack_next=c,c._pack_prev=b}function em(a,b){a._pack_next=b,b._pack_prev=a}function en(a,b){var c=b.x-a.x,d=b.y-a.y,e=a.r+b.r;return e*e-c*c-d*d>.001}function eo(a){function l(a){b=Math.min(a.x-a.r,b),c=Math.max(a.x+a.r,c),d=Math.min(a.y-a.r,d),e=Math.max(a.y+a.r,e)}var b=Infinity,c=-Infinity,d=Infinity,e=-Infinity,f=a.length,g,h,i,j,k;a.forEach(ep),g=a[0],g.x=-g.r,g.y=0,l(g);if(f>1){h=a[1],h.x=h.r,h.y=0,l(h);if(f>2){i=a[2],et(g,h,i),l(i),el(g,i),g._pack_prev=i,el(i,h),h=g._pack_next;for(var m=3;m0&&(a=d)}return a}function eC(a,b){return a.x-b.x}function eD(a,b){return b.x-a.x}function eE(a,b){return a.depth-b.depth}function eF(a,b){function c(a,d){var e=a.children;if(e&&(i=e.length)){var f,g=null,h=-1,i;while(++h=0)f=d[e]._tree,f.prelim+=b,f.mod+=b,b+=f.shift+(c+=f.change)}function eH(a,b,c){a=a._tree,b=b._tree;var d=c/(b.number-a.number);a.change+=d,b.change-=d,b.shift+=c,b.prelim+=c,b.mod+=c}function eI(a,b,c){return a._tree.ancestor.parent==b.parent?a._tree.ancestor:c}function eJ(a){return{x:a.x,y:a.y,dx:a.dx,dy:a.dy}}function eK(a,b){var c=a.x+b[3],d=a.y+b[0],e=a.dx-b[1]-b[3],f=a.dy-b[0]-b[2];return e<0&&(c+=e/2,e=0),f<0&&(d+=f/2,f=0),{x:c,y:d,dx:e,dy:f}}function eL(a){return a.map(eM).join(",")}function eM(a){return/[",\n]/.test(a)?'"'+a.replace(/\"/g,'""')+'"':a}function eO(a,b){return function(c){return c&&a.hasOwnProperty(c.type)?a[c.type](c):b}}function eP(a){return"m0,"+a+"a"+a+","+a+" 0 1,1 0,"+ -2*a+"a"+a+","+a+" 0 1,1 0,"+2*a+"z"}function eQ(a,b){eR.hasOwnProperty(a.type)&&eR[a.type](a,b)}function eS(a,b){eQ(a.geometry,b)}function eT(a,b){for(var c=a.features,d=0,e=c.length;d0}function fg(a,b,c){return(c[0]-b[0])*(a[1]-b[1])<(c[1]-b[1])*(a[0]-b[0])}function fh(a,b,c,d){var e=a[0],f=b[0],g=c[0],h=d[0],i=a[1],j=b[1],k=c[1],l=d[1],m=e-g,n=f-e,o=h-g,p=i-k,q=j-i,r=l-k,s=(o*p-r*m)/(r*n-o*q);return[e+s*n,i+s*q]}function fj(a,b){var c={list:a.map(function(a,b){return{index:b,x:a[0],y:a[1]}}).sort(function(a,b){return a.yb.y?1:a.xb.x?1:0}),bottomSite:null},d={list:[],leftEnd:null,rightEnd:null,init:function(){d.leftEnd=d.createHalfEdge(null,"l"),d.rightEnd=d.createHalfEdge(null,"l"),d.leftEnd.r=d.rightEnd,d.rightEnd.l=d.leftEnd,d.list.unshift(d.leftEnd,d.rightEnd)},createHalfEdge:function(a,b){return{edge:a,side:b,vertex:null,l:null,r:null}},insert:function(a,b){b.l=a,b.r=a.r,a.r.l=b,a.r=b},leftBound:function(a){var b=d.leftEnd;do b=b.r;while(b!=d.rightEnd&&e.rightOf(b,a));return b=b.l,b},del:function(a){a.l.r=a.r,a.r.l=a.l,a.edge=null},right:function(a){return a.r},left:function(a){return a.l},leftRegion:function(a){return a.edge==null?c.bottomSite:a.edge.region[a.side]},rightRegion:function(a){return a.edge==null?c.bottomSite:a.edge.region[fi[a.side]]}},e={bisect:function(a,b){var c={region:{l:a,r:b},ep:{l:null,r:null}},d=b.x-a.x,e=b.y-a.y,f=d>0?d:-d,g=e>0?e:-e;return c.c=a.x*d+a.y*e+(d*d+e*e)*.5,f>g?(c.a=1,c.b=e/d,c.c/=d):(c.b=1,c.a=d/e,c.c/=e),c},intersect:function(a,b){var c=a.edge,d=b.edge;if(!c||!d||c.region.r==d.region.r)return null;var e=c.a*d.b-c.b*d.a;if(Math.abs(e)<1e-10)return null;var f=(c.c*d.b-d.c*c.b)/e,g=(d.c*c.a-c.c*d.a)/e,h=c.region.r,i=d.region.r,j,k;h.y=k.region.r.x;return l&&j.side==="l"||!l&&j.side==="r"?null:{x:f,y:g}},rightOf:function(a,b){var c=a.edge,d=c.region.r,e=b.x>d.x;if(e&&a.side==="l")return 1;if(!e&&a.side==="r")return 0;if(c.a===1){var f=b.y-d.y,g=b.x-d.x,h=0,i=0;!e&&c.b<0||e&&c.b>=0?i=h=f>=c.b*g:(i=b.x+b.y*c.b>c.c,c.b<0&&(i=!i),i||(h=1));if(!h){var j=d.x-c.region.l.x;i=c.b*(g*g-f*f)m*m+n*n}return a.side==="l"?i:!i},endPoint:function(a,c,d){a.ep[c]=d;if(!a.ep[fi[c]])return;b(a)},distance:function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)}},f={list:[],insert:function(a,b,c){a.vertex=b,a.ystar=b.y+c;for(var d=0,e=f.list,g=e.length;dh.ystar||a.ystar==h.ystar&&b.x>h.vertex.x)continue;break}e.splice(d,0,a)},del:function(a){for(var b=0,c=f.list,d=c.length;bo.y&&(p=n,n=o,o=p,t="r"),s=e.bisect(n,o),m=d.createHalfEdge(s,t),d.insert(k,m),e.endPoint(s,fi[t],r),q=e.intersect(k,m),q&&(f.del(k),f.insert(k,q,e.distance(q,n))),q=e.intersect(m,l),q&&f.insert(m,q,e.distance(q,n));else break}for(i=d.right(d.leftEnd);i!=d.rightEnd;i=d.right(i))b(i.edge)}function fk(){return{leaf:!0,nodes:[],point:null}}function fl(a,b,c,d,e,f){if(!a(b,c,d,e,f)){var g=(c+e)*.5,h=(d+f)*.5,i=b.nodes;i[0]&&fl(a,i[0],c,d,g,h),i[1]&&fl(a,i[1],g,d,e,h),i[2]&&fl(a,i[2],c,h,g,f),i[3]&&fl(a,i[3],g,h,e,f)}}function fm(a){return{x:a[0],y:a[1]}}function fo(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function fq(a,b,c,d){var e,f,g=0,h=b.length,i=c.length;while(g=i)return-1;e=b.charCodeAt(g++);if(e==37){f=fw[b.charAt(g++)];if(!f||(d=f(a,c,d))<0)return-1}else if(e!=c.charCodeAt(d++))return-1}return d}function fx(a,b,c){return fz.test(b.substring(c,c+=3))?c:-1}function fy(a,b,c){fA.lastIndex=0;var d=fA.exec(b.substring(c,c+10));return d?c+=d[0].length:-1}function fC(a,b,c){var d=fD.get(b.substring(c,c+=3).toLowerCase());return d==null?-1:(a.m=d,c)}function fE(a,b,c){fF.lastIndex=0;var d=fF.exec(b.substring(c,c+12));return d?(a.m=fG.get(d[0].toLowerCase()),c+=d[0].length):-1}function fI(a,b,c){return fq(a,fv.c.toString(),b,c)}function fJ(a,b,c){return fq(a,fv.x.toString(),b,c)}function fK(a,b,c){return fq(a,fv.X.toString(),b,c)}function fL(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+4));return d?(a.y=+d[0],c+=d[0].length):-1}function fM(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+2));return d?(a.y=fN()+ +d[0],c+=d[0].length):-1}function fN(){return~~((new Date).getFullYear()/1e3)*1e3}function fO(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+2));return d?(a.m=d[0]-1,c+=d[0].length):-1}function fP(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+2));return d?(a.d=+d[0],c+=d[0].length):-1}function fQ(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+2));return d?(a.H=+d[0],c+=d[0].length):-1}function fR(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+2));return d?(a.M=+d[0],c+=d[0].length):-1}function fS(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+2));return d?(a.S=+d[0],c+=d[0].length):-1}function fT(a,b,c){fU.lastIndex=0;var d=fU.exec(b.substring(c,c+3));return d?(a.L=+d[0],c+=d[0].length):-1}function fV(a,b,c){var d=fW.get(b.substring(c,c+=2).toLowerCase());return d==null?-1:(a.p=d,c)}function fX(a){var b=a.getTimezoneOffset(),c=b>0?"-":"+",d=~~(Math.abs(b)/60),e=Math.abs(b)%60;return c+fr(d)+fr(e)}function fZ(a){return a.toISOString()}function f$(a,b,c){function d(b){var c=a(b),d=f(c,1);return b-c1)while(gb?1:a>=b?0:NaN},d3.descending=function(a,b){return ba?1:b>=a?0:NaN},d3.mean=function(a,b){var c=a.length,d,e=0,f=-1,g=0;if(arguments.length===1)while(++f1&&(a=a.map(b)),a=a.filter(r),a.length?d3.quantile(a.sort(d3.ascending),.5):undefined},d3.min=function(a,b){var c=-1,d=a.length,e,f;if(arguments.length===1){while(++cf&&(e=f)}else{while(++cf&&(e=f)}return e},d3.max=function(a,b){var c=-1,d=a.length,e,f;if(arguments.length===1){while(++ce&&(e=f)}else{while(++ce&&(e=f)}return e},d3.extent=function(a,b){var c=-1,d=a.length,e,f,g;if(arguments.length===1){while(++cf&&(e=f),gf&&(e=f),g1);return a+b*c*Math.sqrt(-2*Math.log(e)/e)}}},d3.sum=function(a,b){var c=0,d=a.length,e,f=-1;if(arguments.length===1)while(++f>1;a.call(b,b[f],f)>1;c0&&(e=f);return e},d3.last=function(a,b){var c=0,d=a.length,e=a[0],f;arguments.length===1&&(b=d3.ascending);while(++c=b.length)return e?e.call(a,c):d?c.sort(d):c;var h=-1,i=c.length,k=b[g++],l,m,n=new j,o,p={};while(++h=b.length)return a;var e=[],f=c[d++],h;for(h in a)e.push({key:h,values:g(a[h],d)});return f&&e.sort(function(a,b){return f(a.key,b.key)}),e}var a={},b=[],c=[],d,e;return a.map=function(a){return f(a,0)},a.entries=function(a){return g(f(a,0),0)},a.key=function(c){return b.push(c),a},a.sortKeys=function(d){return c[b.length-1]=d,a},a.sortValues=function(b){return d=b,a},a.rollup=function(b){return e=b,a},a},d3.keys=function(a){var b=[];for(var c in a)b.push(c);return b},d3.values=function(a){var b=[];for(var c in a)b.push(a[c]);return b},d3.entries=function(a){var b=[];for(var c in a)b.push({key:c,value:a[c]});return b},d3.permute=function(a,b){var c=[],d=-1,e=b.length;while(++db)d.push(g/e);else while((g=a+c*++f)=200&&a<300||a===304?d:null)}},d.send(null)},d3.text=function(a,b,c){function d(a){c(a&&a.responseText)}arguments.length<3&&(c=b,b=null),d3.xhr(a,b,d)},d3.json=function(a,b){d3.text(a,"application/json",function(a){b(a?JSON.parse(a):null)})},d3.html=function(a,b){d3.text(a,"text/html",function(a){if(a!=null){var c=document.createRange();c.selectNode(document.body),a=c.createContextualFragment(a)}b(a)})},d3.xml=function(a,b,c){function d(a){c(a&&a.responseXML)}arguments.length<3&&(c=b,b=null),d3.xhr(a,b,d)};var y={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};d3.ns={prefix:y,qualify:function(a){var b=a.indexOf(":"),c=a;return b>=0&&(c=a.substring(0,b),a=a.substring(b+1)),y.hasOwnProperty(c)?{space:y[c],local:a}:a}},d3.dispatch=function(){var a=new z,b=-1,c=arguments.length;while(++b0&&(d=a.substring(c+1),a=a.substring(0,c)),arguments.length<2?this[a].on(d):this[a].on(d,b)},d3.format=function(a){var b=B.exec(a),c=b[1]||" ",d=b[3]||"",e=b[5],f=+b[6],g=b[7],h=b[8],i=b[9],j=1,k="",l=!1;h&&(h=+h.substring(1)),e&&(c="0",g&&(f-=Math.floor((f-1)/4)));switch(i){case"n":g=!0,i="g";break;case"%":j=100,k="%",i="f";break;case"p":j=100,k="%",i="r";break;case"d":l=!0,h=0;break;case"s":j=-1,i="r"}return i=="r"&&!h&&(i="g"),i=C.get(i)||E,function(a){if(l&&a%1)return"";var b=a<0&&(a=-a)?"−":d;if(j<0){var m=d3.formatPrefix(a,h);a=m.scale(a),k=m.symbol}else a*=j;a=i(a,h);if(e){var n=a.length+b.length;n=^]))?([+\- ])?(#)?(0)?([0-9]+)?(,)?(\.[0-9]+)?([a-zA-Z%])?/,C=d3.map({g:function(a,b){return a.toPrecision(b)},e:function(a,b){return a.toExponential(b)},f:function(a,b){return a.toFixed(b)},r:function(a,b){return d3.round(a,b=D(a,b)).toFixed(Math.max(0,Math.min(20,b)))}}),G=["y","z","a","f","p","n","μ","m","","k","M","G","T","P","E","Z","Y"].map(H);d3.formatPrefix=function(a,b){var c=0;return a&&(a<0&&(a*=-1),b&&(a=d3.round(a,D(a,b))),c=1+Math.floor(1e-12+Math.log(a)/Math.LN10),c=Math.max(-24,Math.min(24,Math.floor((c<=0?c+1:c-1)/3)*3))),G[8+c/3]};var I=R(2),J=R(3),K=function(){return Q},L=d3.map({linear:K,poly:R,quad:function(){return I},cubic:function(){return J},sin:function(){return S},exp:function(){return T},circle:function(){return U},elastic:V,back:W,bounce:function(){return X}}),M=d3.map({"in":Q,out:O,"in-out":P,"out-in":function(a){return P(O(a))}});d3.ease=function(a){var b=a.indexOf("-"),c=b>=0?a.substring(0,b):a,d=b>=0?a.substring(b+1):"in";return c=L.get(c)||K,d=M.get(d)||Q,N(d(c.apply(null,Array.prototype.slice.call(arguments,1))))},d3.event=null,d3.interpolate=function(a,b){var c=d3.interpolators.length,d;while(--c>=0&&!(d=d3.interpolators[c](a,b)));return d},d3.interpolateNumber=function(a,b){return b-=a,function(c){return a+b*c}},d3.interpolateRound=function(a,b){return b-=a,function(c){return Math.round(a+b*c)}},d3.interpolateString=function(a,b){var c,d,e,f=0,g=0,h=[],i=[],j,k;_.lastIndex=0;for(d=0;c=_.exec(b);++d)c.index&&h.push(b.substring(f,g=c.index)),i.push({i:h.length,x:c[0]}),h.push(null),f=_.lastIndex;f180?k+=360:k-j>180&&(j+=360),d.push({i:c.push(c.pop()+"rotate(",null,")")-2,x:d3.interpolateNumber(j,k)})):k&&c.push(c.pop()+"rotate("+k+")"),l!=m?d.push({i:c.push(c.pop()+"skewX(",null,")")-2,x:d3.interpolateNumber(l,m)}):m&&c.push(c.pop()+"skewX("+m+")"),n[0]!=o[0]||n[1]!=o[1]?(e=c.push(c.pop()+"scale(",null,",",null,")"),d.push({i:e-4,x:d3.interpolateNumber(n[0],o[0])},{i:e-2,x:d3.interpolateNumber(n[1],o[1])})):(o[0]!=1||o[1]!=1)&&c.push(c.pop()+"scale("+o+")"),e=d.length,function(a){var b=-1,f;while(++b180?f-=360:f<-180&&(f+=360),function(a){return bm(c+f*a,d+g*a,e+h*a).toString()}},d3.interpolateArray=function(a,b){var c=[],d=[],e=a.length,f=b.length,g=Math.min(a.length,b.length),h;for(h=0;h1){while(++e=0;)if(f=c[d])e&&e!==f.nextSibling&&e.parentNode.insertBefore(f,e),e=f;return this},bt.sort=function(a){a=bz.apply(this,arguments);for(var b=-1,c=this.length;++b0&&(a=a.substring(0,e)),arguments.length<2?(e=this.node()[d])&&e._:this.each(function(e,f){function i(a){var c=d3.event;d3.event=a;try{b.call(g,g.__data__,f)}finally{d3.event=c}}var g=this,h=g[d];h&&(g.removeEventListener(a,h,h.$),delete g[d]),b&&(g.addEventListener(a,g[d]=i,i.$=c),i._=b)})},bt.each=function(a){return bA(this,function(b,c,d){a.call(b,b.__data__,c,d)})},bt.call=function(a){return a.apply(this,(arguments[0]=this,arguments)),this},bt.empty=function(){return!this.node()},bt.node=function(a){for(var b=0,c=this.length;b=cF?e?"M0,"+f+"A"+f+","+f+" 0 1,1 0,"+ -f+"A"+f+","+f+" 0 1,1 0,"+f+"M0,"+e+"A"+e+","+e+" 0 1,0 0,"+ -e+"A"+e+","+e+" 0 1,0 0,"+e+"Z":"M0,"+f+"A"+f+","+f+" 0 1,1 0,"+ -f+"A"+f+","+f+" 0 1,1 0,"+f+"Z":e?"M"+f*k+","+f*l+"A"+f+","+f+" 0 "+j+",1 "+f*m+","+f*n+"L"+e*m+","+e*n+"A"+e+","+e+" 0 "+j+",0 "+e*k+","+e*l+"Z":"M"+f*k+","+f*l+"A"+f+","+f+" 0 "+j+",1 "+f*m+","+f*n+"L0,0"+"Z"}var a=cG,b=cH,c=cI,d=cJ;return e.innerRadius=function(b){return arguments.length?(a=p(b),e):a},e.outerRadius=function(a){return arguments.length?(b=p(a),e):b},e.startAngle=function(a){return arguments.length?(c=p(a),e):c},e.endAngle=function(a){return arguments.length?(d=p(a),e):d},e.centroid=function(){var e=(a.apply(this,arguments)+b.apply(this,arguments))/2,f=(c.apply(this,arguments)+d.apply(this,arguments))/2+cE;return[Math.cos(f)*e,Math.sin(f)*e]},e};var cE=-Math.PI/2,cF=2*Math.PI-1e-6;d3.svg.line=function(){return cK(m)};var cN="linear",cO=d3.map({linear:cP,"step-before":cQ,"step-after":cR,basis:cX,"basis-open":cY,"basis-closed":cZ,bundle:c$,cardinal:cU,"cardinal-open":cS,"cardinal-closed":cT,monotone:dh}),da=[0,2/3,1/3,0],db=[0,1/3,2/3,0],dc=[0,1/6,2/3,1/6];d3.svg.line.radial=function(){var a=cK(di);return a.radius=a.x,delete a.x,a.angle=a.y,delete a.y,a},cQ.reverse=cR,cR.reverse=cQ,d3.svg.area=function(){return dj(Object)},d3.svg.area.radial=function(){var a=dj(di);return a.radius=a.x,delete a.x,a.innerRadius=a.x0,delete a.x0,a.outerRadius=a.x1,delete a.x1,a.angle=a.y,delete a.y,a.startAngle=a.y0,delete a.y0,a.endAngle=a.y1,delete a.y1,a},d3.svg.chord=function(){function f(c,d){var e=g(this,a,c,d),f=g(this,b,c,d);return"M"+e.p0+i(e.r,e.p1,e.a1-e.a0)+(h(e,f)?j(e.r,e.p1,e.r,e.p0):j(e.r,e.p1,f.r,f.p0)+i(f.r,f.p1,f.a1-f.a0)+j(f.r,f.p1,e.r,e.p0))+"Z"}function g(a,b,f,g){var h=b.call(a,f,g),i=c.call(a,h,g),j=d.call(a,h,g)+cE,k=e.call(a,h,g)+cE;return{r:i,a0:j,a1:k,p0:[i*Math.cos(j),i*Math.sin(j)],p1:[i*Math.cos(k),i*Math.sin(k)]}}function h(a,b){return a.a0==b.a0&&a.a1==b.a1}function i(a,b,c){return"A"+a+","+a+" 0 "+ +(c>Math.PI)+",1 "+b}function j(a,b,c,d){return"Q 0,0 "+d}var a=dk,b=dl,c=dm,d=cI,e=cJ;return f.radius=function(a){return arguments.length?(c=p(a),f):c},f.source=function(b){return arguments.length?(a=p(b),f):a},f.target=function(a){return arguments.length?(b=p(a),f):b},f.startAngle=function(a){return arguments.length?(d=p(a),f):d},f.endAngle=function(a){return arguments.length?(e=p(a),f):e},f},d3.svg.diagonal=function(){function d(d,e){var f=a.call(this,d,e),g=b.call(this,d,e),h=(f.y+g.y)/2,i=[f,{x:f.x,y:h},{x:g.x,y:h},g];return i=i.map(c),"M"+i[0]+"C"+i[1]+" "+i[2]+" "+i[3]}var a=dk,b=dl,c=dq;return d.source=function(b){return arguments.length?(a=p(b),d):a},d.target=function(a){return arguments.length?(b=p(a),d):b},d.projection=function(a){return arguments.length?(c=a,d):c},d},d3.svg.diagonal +.radial=function(){var a=d3.svg.diagonal(),b=dq,c=a.projection;return a.projection=function(a){return arguments.length?c(dr(b=a)):b},a},d3.svg.mouse=d3.mouse,d3.svg.touches=d3.touches,d3.svg.symbol=function(){function c(c,d){return(dv.get(a.call(this,c,d))||du)(b.call(this,c,d))}var a=dt,b=ds;return c.type=function(b){return arguments.length?(a=p(b),c):a},c.size=function(a){return arguments.length?(b=p(a),c):b},c};var dv=d3.map({circle:du,cross:function(a){var b=Math.sqrt(a/5)/2;return"M"+ -3*b+","+ -b+"H"+ -b+"V"+ -3*b+"H"+b+"V"+ -b+"H"+3*b+"V"+b+"H"+b+"V"+3*b+"H"+ -b+"V"+b+"H"+ -3*b+"Z"},diamond:function(a){var b=Math.sqrt(a/(2*dx)),c=b*dx;return"M0,"+ -b+"L"+c+",0"+" 0,"+b+" "+ -c+",0"+"Z"},square:function(a){var b=Math.sqrt(a)/2;return"M"+ -b+","+ -b+"L"+b+","+ -b+" "+b+","+b+" "+ -b+","+b+"Z"},"triangle-down":function(a){var b=Math.sqrt(a/dw),c=b*dw/2;return"M0,"+c+"L"+b+","+ -c+" "+ -b+","+ -c+"Z"},"triangle-up":function(a){var b=Math.sqrt(a/dw),c=b*dw/2;return"M0,"+ -c+"L"+b+","+c+" "+ -b+","+c+"Z"}});d3.svg.symbolTypes=dv.keys();var dw=Math.sqrt(3),dx=Math.tan(30*Math.PI/180);d3.svg.axis=function(){function k(k){k.each(function(){var k=d3.select(this),l=h==null?a.ticks?a.ticks.apply(a,g):a.domain():h,m=i==null?a.tickFormat?a.tickFormat.apply(a,g):String:i,n=dA(a,l,j),o=k.selectAll(".minor").data(n,String),p=o.enter().insert("line","g").attr("class","tick minor").style("opacity",1e-6),q=d3.transition(o.exit()).style("opacity",1e-6).remove(),r=d3.transition(o).style("opacity",1),s=k.selectAll("g").data(l,String),t=s.enter().insert("g","path").style("opacity",1e-6),u=d3.transition(s.exit()).style("opacity",1e-6).remove(),v=d3.transition(s).style("opacity",1),w,x=cf(a),y=k.selectAll(".domain").data([0]),z=y.enter().append("path").attr("class","domain"),A=d3.transition(y),B=a.copy(),C=this.__chart__||B;this.__chart__=B,t.append("line").attr("class","tick"),t.append("text");var D=t.select("line"),E=v.select("line"),F=s.select("text").text(m),G=t.select("text"),H=v.select("text");switch(b){case"bottom":w=dy,p.attr("y2",d),r.attr("x2",0).attr("y2",d),D.attr("y2",c),G.attr("y",Math.max(c,0)+f),E.attr("x2",0).attr("y2",c),H.attr("x",0).attr("y",Math.max(c,0)+f),F.attr("dy",".71em").attr("text-anchor","middle"),A.attr("d","M"+x[0]+","+e+"V0H"+x[1]+"V"+e);break;case"top":w=dy,p.attr("y2",-d),r.attr("x2",0).attr("y2",-d),D.attr("y2",-c),G.attr("y",-(Math.max(c,0)+f)),E.attr("x2",0).attr("y2",-c),H.attr("x",0).attr("y",-(Math.max(c,0)+f)),F.attr("dy","0em").attr("text-anchor","middle"),A.attr("d","M"+x[0]+","+ -e+"V0H"+x[1]+"V"+ -e);break;case"left":w=dz,p.attr("x2",-d),r.attr("x2",-d).attr("y2",0),D.attr("x2",-c),G.attr("x",-(Math.max(c,0)+f)),E.attr("x2",-c).attr("y2",0),H.attr("x",-(Math.max(c,0)+f)).attr("y",0),F.attr("dy",".32em").attr("text-anchor","end"),A.attr("d","M"+ -e+","+x[0]+"H0V"+x[1]+"H"+ -e);break;case"right":w=dz,p.attr("x2",d),r.attr("x2",d).attr("y2",0),D.attr("x2",c),G.attr("x",Math.max(c,0)+f),E.attr("x2",c).attr("y2",0),H.attr("x",Math.max(c,0)+f).attr("y",0),F.attr("dy",".32em").attr("text-anchor","start"),A.attr("d","M"+e+","+x[0]+"H0V"+x[1]+"H"+e)}if(a.ticks)t.call(w,C),v.call(w,B),u.call(w,B),p.call(w,C),r.call(w,B),q.call(w,B);else{var I=B.rangeBand()/2,J=function(a){return B(a)+I};t.call(w,J),v.call(w,J)}})}var a=d3.scale.linear(),b="bottom",c=6,d=6,e=6,f=3,g=[10],h=null,i,j=0;return k.scale=function(b){return arguments.length?(a=b,k):a},k.orient=function(a){return arguments.length?(b=a,k):b},k.ticks=function(){return arguments.length?(g=arguments,k):g},k.tickValues=function(a){return arguments.length?(h=a,k):h},k.tickFormat=function(a){return arguments.length?(i=a,k):i},k.tickSize=function(a,b,f){if(!arguments.length)return c;var g=arguments.length-1;return c=+a,d=g>1?+b:c,e=g>0?+arguments[g]:c,k},k.tickPadding=function(a){return arguments.length?(f=+a,k):f},k.tickSubdivide=function(a){return arguments.length?(j=+a,k):j},k},d3.svg.brush=function(){function g(a){a.each(function(){var a=d3.select(this),e=a.selectAll(".background").data([0]),f=a.selectAll(".extent").data([0]),l=a.selectAll(".resize").data(d,String),m;a.style("pointer-events","all").on("mousedown.brush",k).on("touchstart.brush",k),e.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),f.enter().append("rect").attr("class","extent").style("cursor","move"),l.enter().append("g").attr("class",function(a){return"resize "+a}).style("cursor",function(a){return dB[a]}).append("rect").attr("x",function(a){return/[ew]$/.test(a)?-3:null}).attr("y",function(a){return/^[ns]/.test(a)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),l.style("display",g.empty()?"none":null),l.exit().remove(),b&&(m=cf(b),e.attr("x",m[0]).attr("width",m[1]-m[0]),i(a)),c&&(m=cf(c),e.attr("y",m[0]).attr("height",m[1]-m[0]),j(a)),h(a)})}function h(a){a.selectAll(".resize").attr("transform",function(a){return"translate("+e[+/e$/.test(a)][0]+","+e[+/^s/.test(a)][1]+")"})}function i(a){a.select(".extent").attr("x",e[0][0]),a.selectAll(".extent,.n>rect,.s>rect").attr("width",e[1][0]-e[0][0])}function j(a){a.select(".extent").attr("y",e[0][1]),a.selectAll(".extent,.e>rect,.w>rect").attr("height",e[1][1]-e[0][1])}function k(){function x(){var a=d3.event.changedTouches;return a?d3.touches(d,a)[0]:d3.mouse(d)}function y(){d3.event.keyCode==32&&(q||(r=null,s[0]-=e[1][0],s[1]-=e[1][1],q=2),Y())}function z(){d3.event.keyCode==32&&q==2&&(s[0]+=e[1][0],s[1]+=e[1][1],q=0,Y())}function A(){var a=x(),d=!1;t&&(a[0]+=t[0],a[1]+=t[1]),q||(d3.event.altKey?(r||(r=[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]),s[0]=e[+(a[0]0?e=c:e=0:c>0&&(b.start({type:"start",alpha:e=c}),d3.timer(a.tick)),a):e},a.start=function(){function p(a,c){var d=t(b),e=-1,f=d.length,g;while(++ee&&(e=h),d.push(h)}for(g=0;g0){f=-1;while(++f=i[0]&&o<=i[1]&&(k=g[d3.bisect(j,o,1,m)-1],k.y+=n,k.push(e[f]))}return g}var a=!0,b=Number,c=ed,d=eb;return e.value=function(a){return arguments.length?(b=a,e):b},e.range=function(a){return arguments.length?(c=p(a),e):c},e.bins=function(a){return arguments.length?(d=typeof a=="number"?function(b){return ec(b,a)}:p(a),e):d},e.frequency=function(b){return arguments.length?(a=!!b,e):a},e},d3.layout.hierarchy=function(){function d(e,g,h){var i=b.call(f,e,g),j=ej?e:{data:e};j.depth=g,h.push(j);if(i&&(l=i.length)){var k=-1,l,m=j.children=[],n=0,o=g+1,p;while(++k0&&(eH(eI(g,a,d),a,m),i+=m,j+=m),k+=g._tree.mod,i+=e._tree.mod,l+=h._tree.mod,j+=f._tree.mod;g&&!eA(f)&&(f._tree.thread=g,f._tree.mod+=k-j),e&&!ez(h)&&(h._tree.thread=e,h._tree.mod+=i-l,d=a)}return d}var f=a.call(this,d,e),g=f[0];eF(g,function(a,b){a._tree={ancestor:a,prelim:0,mod:0,change:0,shift:0,number:b?b._tree.number+1:0}}),h(g),i(g,-g._tree.prelim);var k=eB(g,eD),l=eB(g,eC),m=eB(g,eE),n=k.x-b(k,l)/2,o=l.x+b(l,k)/2,p=m.depth||1;return eF(g,function(a){a.x=(a.x-n)/(o-n)*c[0],a.y=a.depth/p*c[1],delete a._tree}),f}var a=d3.layout.hierarchy().sort(null).value(null),b=ey,c=[1,1];return d.separation=function(a){return arguments.length?(b=a,d):b},d.size=function(a){return arguments.length?(c=a,d):c},ee(d,a)},d3.layout.treemap=function(){function i(a,b){var c=-1,d=a.length,e,f;while(++c0)d.push(g=f[o-1]),d.area+=g.area,(k=l(d,n))<=h?(f.pop(),h=k):(d.area-=d.pop().area,m(d,n,c,!1),n=Math.min(c.dx,c.dy),d.length=d.area=0,h=Infinity);d.length&&(m(d,n,c,!0),d.length=d.area=0),b.forEach(j)}}function k(a){var b=a.children;if(b&&b.length){var c=e(a),d=b.slice(),f,g=[];i(d,c.dx*c.dy/a.value),g.area=0;while(f=d.pop())g.push(f),g.area+=f.area,f.z!=null&&(m(g,f.z?c.dx:c.dy,c,!d.length),g.length=g.area=0);b.forEach(k)}}function l(a,b){var c=a.area,d,e=0,f=Infinity,g=-1,i=a.length;while(++ge&&(e=d)}return c*=c,b*=b,c?Math.max(b*e*h/c,c/(b*f*h)):Infinity}function m(a,c,d,e){var f=-1,g=a.length,h=d.x,i=d.y,j=c?b(a.area/c):0,k;if(c==d.dx){if(e||j>d.dy)j=d.dy;while(++fd.dx)j=d.dx;while(++f=a.length)return d;if(i)return i=!1,c;var b=f.lastIndex;if(a.charCodeAt(b)===34){var e=b;while(e++50?b:f<-140?c:g<21?d:a)(e)}var a=d3.geo.albers(),b=d3.geo.albers().origin([-160,60]).parallels([55,65]),c=d3.geo.albers().origin([-160,20]).parallels([8,18]),d=d3.geo.albers().origin([-60,10]).parallels([8,18]);return e.scale=function(f){return arguments.length?(a.scale(f),b.scale(f*.6),c.scale(f),d.scale(f*1.5),e.translate(a.translate())):a.scale()},e.translate=function(f){if(!arguments.length)return a.translate();var g=a.scale()/1e3,h=f[0],i=f[1];return a.translate(f),b.translate([h-400*g,i+170*g]),c.translate([h-190*g,i+200*g]),d.translate([h+580*g,i+430*g]),e},e.scale(a.scale())},d3.geo.bonne=function(){function g(g){var h=g[0]*eN-c,i=g[1]*eN-d;if(e){var j=f+e-i,k=h*Math.cos(i)/j;h=j*Math.sin(k),i=j*Math.cos(k)-f}else h*=Math.cos(i),i*=-1;return[a*h+b[0],a*i+b[1]]}var a=200,b=[480,250],c,d,e,f;return g.invert=function(d){var g=(d[0]-b[0])/a,h=(d[1]-b[1])/a;if(e){var i=f+h,j=Math.sqrt(g*g+i*i);h=f+e-j,g=c+j*Math.atan2(g,i)/Math.cos(h)}else h*=-1,g/=Math.cos(h);return[g/eN,h/eN]},g.parallel=function(a){return arguments.length?(f=1/Math.tan(e=a*eN),g):e/eN},g.origin=function(a){return arguments.length?(c=a[0]*eN,d=a[1]*eN,g):[c/eN,d/eN]},g.scale=function(b){return arguments.length?(a=+b,g):a},g.translate=function(a){return arguments.length?(b=[+a[0],+a[1]],g):b},g.origin([0,0]).parallel(45)},d3.geo.equirectangular=function(){function c(c){var d=c[0]/360,e=-c[1]/360;return[a*d+b[0],a*e+b[1]]}var a=500,b=[480,250];return c.invert=function(c){var d=(c[0]-b[0])/a,e=(c[1]-b[1])/a;return[360*d,-360*e]},c.scale=function(b){return arguments.length?(a=+b,c):a},c.translate=function(a){return arguments.length?(b=[+a[0],+a[1]],c):b},c},d3.geo.mercator=function(){function c(c){var d=c[0]/360,e=-(Math.log(Math.tan(Math.PI/4+c[1]*eN/2))/eN)/360;return[a*d+b[0],a*Math.max(-0.5,Math.min(.5,e))+b[1]]}var a=500,b=[480,250];return c.invert=function(c){var d=(c[0]-b[0])/a,e=(c[1]-b[1])/a;return[360*d,2*Math.atan(Math.exp(-360*e*eN))/eN-90]},c.scale=function(b){return arguments.length?(a=+b,c):a},c.translate=function(a){return arguments.length?(b=[+a[0],+a[1]],c):b},c},d3.geo.path=function(){function e(c,e){typeof a=="function"&&(b=eP(a.apply(this,arguments))),g(c);var f=d.length?d.join(""):null;return d=[],f}function f(a){return c(a).join(",")}function i(a){var b=l(a[0]),c=0,d=a.length;while(++c0){d.push("M");while(++h0){d.push("M");while(++kd&&(d=a),fe&&(e=f)}),[[b,c],[d,e]]};var eR={Feature:eS,FeatureCollection:eT,GeometryCollection:eU,LineString:eV,MultiLineString:eW,MultiPoint:eV,MultiPolygon:eX,Point:eY,Polygon:eZ};d3.geo.circle=function(){function e(){}function f(a){return d.distance(a)=k*k+l*l?d[f].index=-1:(d[m].index=-1,o=d[f].angle,m=f,n=g)):(o=d[f].angle,m=f,n=g);e.push(h);for(f=0,g=0;f<2;++g)d[g].index!==-1&&(e.push(d[g].index),f++);p=e.length;for(;g=0?(c=a.ep.r,d=a.ep.l):(c=a.ep.l,d=a.ep.r),a.a===1?(g=c?c.y:-1e6,e=a.c-a.b*g,h=d?d.y:1e6,f=a.c-a.b*h):(e=c?c.x:-1e6,g=a.c-a.a*e,f=d?d.x:1e6,h=a.c-a.a*f);var i=[e,g],j=[f,h];b[a.region.l.index].push(i,j),b[a.region.r.index].push(i,j)}),b.map(function(b,c){var d=a[c][0],e=a[c][1];return b.forEach(function(a){a.angle=Math.atan2(a[0]-d,a[1]-e)}),b.sort(function(a,b){return a.angle-b.angle}).filter(function(a,c){return!c||a.angle-b[c-1].angle>1e-10})})};var fi={l:"r",r:"l"};d3.geom.delaunay=function(a){var b=a.map(function(){return[]}),c=[];return fj(a,function(c){b[c.region.l.index].push(a[c.region.r.index])}),b.forEach(function(b,d){var e=a[d],f=e[0],g=e[1];b.forEach(function(a){a.angle=Math.atan2(a[0]-f,a[1]-g)}),b.sort(function(a,b){return a.angle-b.angle});for(var h=0,i=b.length-1;h=g,j=b.y>=h,l=(j<<1)+i;a.leaf=!1,a=a.nodes[l]||(a.nodes[l]=fk()),i?c=g:e=g,j?d=h:f=h,k(a,b,c,d,e,f)}var f,g=-1,h=a.length;h&&isNaN(a[0].x)&&(a=a.map(fm));if(arguments.length<5)if(arguments.length===3)e=d=c,c=b;else{b=c=Infinity,d=e=-Infinity;while(++gd&&(d=f.x),f.y>e&&(e=f.y);var i=d-b,j=e-c;i>j?e=c+i:d=b+j}var m=fk();return m.add=function(a){k(m,a,b,c,d,e)},m.visit=function(a){fl(a,m,b,c,d,e)},a.forEach(m.add),m},d3.time={};var fn=Date;fo.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){fp.setUTCDate.apply(this._,arguments)},setDay:function(){fp.setUTCDay.apply(this._,arguments)},setFullYear:function(){fp.setUTCFullYear.apply(this._,arguments)},setHours:function(){fp.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){fp.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){fp.setUTCMinutes.apply(this._,arguments)},setMonth:function(){fp.setUTCMonth.apply(this._,arguments)},setSeconds:function(){fp.setUTCSeconds.apply(this._,arguments)},setTime:function(){fp.setTime.apply(this._,arguments)}};var fp=Date.prototype;d3.time.format=function(a){function c(c){var d=[],e=-1,f=0,g,h;while(++e=12?"PM":"AM"},S:function(a){return fr(a.getSeconds())},U:function(a){return fr(d3.time.sundayOfYear(a))},w:function(a){return a.getDay()},W:function(a){return fr(d3.time.mondayOfYear(a))},x:d3.time.format("%m/%d/%y"),X:d3.time.format("%H:%M:%S"),y:function(a){return fr(a.getFullYear()%100)},Y:function(a){return ft(a.getFullYear()%1e4)},Z:fX,"%":function(a){return"%"}},fw={a:fx,A:fy,b:fC,B:fE,c:fI,d:fP,e:fP,H:fQ,I:fQ,L:fT,m:fO,M:fR,p:fV,S:fS,x:fJ,X:fK,y:fM,Y:fL},fz=/^(?:sun|mon|tue|wed|thu|fri|sat)/i,fA=/^(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)/i,fB=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],fD=d3.map({jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11}),fF=/^(?:January|February|March|April|May|June|July|August|September|October|November|December)/ig,fG=d3.map({january:0,february:1,march:2,april:3,may:4,june:5,july:6,august:7,september:8,october:9,november:10,december:11}),fH=["January","February","March","April","May","June","July","August","September","October","November","December"],fU=/\s*\d+/,fW=d3.map({am:0,pm:1});d3.time.format.utc=function(a){function c(a){try{fn=fo;var c=new fn;return c._=a,b(c)}finally{fn=Date}}var b=d3.time.format(a);return c.parse=function(a){try{fn=fo;var c=b.parse(a);return c&&c._}finally{fn=Date}},c.toString=b.toString,c};var fY=d3.time.format.utc("%Y-%m-%dT%H:%M:%S.%LZ");d3.time.format.iso=Date.prototype.toISOString?fZ:fY,fZ.parse=function(a){var b=new Date(a);return isNaN(b)?null:b},fZ.toString=fY.toString,d3.time.second=f$(function(a){return new fn(Math.floor(a/1e3)*1e3)},function(a,b){a.setTime(a.getTime()+Math.floor(b)*1e3)},function(a){return a.getSeconds()}),d3.time.seconds=d3.time.second.range,d3.time.seconds.utc=d3.time.second.utc.range,d3.time.minute=f$(function(a){return new fn(Math.floor(a/6e4)*6e4)},function(a,b){a.setTime(a.getTime()+Math.floor(b)*6e4)},function(a){return a.getMinutes()}),d3.time.minutes=d3.time.minute.range,d3.time.minutes.utc=d3.time.minute.utc.range,d3.time.hour=f$(function(a){var b=a.getTimezoneOffset()/60;return new fn((Math.floor(a/36e5-b)+b)*36e5)},function(a,b){a.setTime(a.getTime()+Math.floor(b)*36e5)},function(a){return a.getHours()}),d3.time.hours=d3.time.hour.range,d3.time.hours.utc=d3.time.hour.utc.range,d3.time.day=f$(function(a){return new fn(a.getFullYear(),a.getMonth(),a.getDate())},function(a,b){a.setDate(a.getDate()+b)},function(a){return a.getDate()-1}),d3.time.days=d3.time.day.range,d3.time.days.utc=d3.time.day.utc.range,d3.time.dayOfYear=function(a){var b=d3.time.year(a);return Math.floor((a-b)/864e5-(a.getTimezoneOffset()-b.getTimezoneOffset())/1440)},fB.forEach(function(a,b){a=a.toLowerCase(),b=7-b;var c=d3.time[a]=f$(function(a){return(a=d3.time.day(a)).setDate(a.getDate()-(a.getDay()+b)%7),a},function(a,b){a.setDate(a.getDate()+Math.floor(b)*7)},function(a){var c=d3.time.year(a).getDay();return Math.floor((d3.time.dayOfYear(a)+(c+b)%7)/7)-(c!==b)});d3.time[a+"s"]=c.range,d3.time[a+"s"].utc=c.utc.range,d3.time[a+"OfYear"]=function(a){var c=d3.time.year(a).getDay();return Math.floor((d3.time.dayOfYear(a)+(c+b)%7)/7)}}),d3.time.week=d3.time.sunday,d3.time.weeks=d3.time.sunday.range,d3.time.weeks.utc=d3.time.sunday.utc.range,d3.time.weekOfYear=d3.time.sundayOfYear,d3.time.month=f$(function(a){return new fn(a.getFullYear(),a.getMonth(),1)},function(a,b){a.setMonth(a.getMonth()+b)},function(a){return a.getMonth()}),d3.time.months=d3.time.month.range,d3.time.months.utc=d3.time.month.utc.range,d3.time.year=f$(function(a){return new fn(a.getFullYear(),0,1)},function(a,b){a.setFullYear(a.getFullYear()+b)},function(a){return a.getFullYear()}),d3.time.years=d3.time.year.range,d3.time.years.utc=d3.time.year.utc.range;var gg=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],gh=[[d3.time.second,1],[d3.time.second,5],[d3.time.second,15],[d3.time.second,30],[d3.time.minute,1],[d3.time.minute,5],[d3.time.minute,15],[d3.time.minute,30],[d3.time.hour,1],[d3.time.hour,3],[d3.time.hour,6],[d3.time.hour,12],[d3.time.day,1],[d3.time.day,2],[d3.time.week,1],[d3.time.month,1],[d3.time.month,3],[d3.time.year,1]],gi=[[d3.time.format("%Y"),function(a){return!0}],[d3.time.format("%B"),function(a){return a.getMonth()}],[d3.time.format("%b %d"),function(a){return a.getDate()!=1}],[d3.time.format("%a %d"),function(a){return a.getDay()&&a.getDate()!=1}],[d3.time.format("%I %p"),function(a){return a.getHours()}],[d3.time.format("%I:%M"),function(a){return a.getMinutes()}],[d3.time.format(":%S"),function(a){return a.getSeconds()}],[d3.time.format(".%L"),function(a){return a.getMilliseconds()}]],gj=d3.scale.linear(),gk=gd(gi);gh.year=function(a,b){return gj.domain(a.map(gf)).ticks(b).map(ge)},d3.time.scale=function(){return ga(d3.scale.linear(),gh,gk)};var gl=gh.map(function(a){return[a[0].utc,a[1]]}),gm=[[d3.time.format.utc("%Y"),function(a){return!0}],[d3.time.format.utc("%B"),function(a){return a.getUTCMonth()}],[d3.time.format.utc("%b %d"),function(a){return a.getUTCDate()!=1}],[d3.time.format.utc("%a %d"),function(a){return a.getUTCDay()&&a.getUTCDate()!=1}],[d3.time.format.utc("%I %p"),function(a){return a.getUTCHours()}],[d3.time.format.utc("%I:%M"),function(a){return a.getUTCMinutes()}],[d3.time.format.utc(":%S"),function(a){return a.getUTCSeconds()}],[d3.time.format.utc(".%L"),function(a){return a.getUTCMilliseconds()}]],gn=gd(gm);gl.year=function(a,b){return gj.domain(a.map(gp)).ticks(b).map(go)},d3.time.scale.utc=function(){return ga(d3.scale.linear(),gl,gn)}})(); \ No newline at end of file diff --git a/v3/js/iframe-embed.js b/v3/js/iframe-embed.js new file mode 100644 index 000000000..0e0028643 --- /dev/null +++ b/v3/js/iframe-embed.js @@ -0,0 +1,132 @@ +/* + +Online Python Tutor +https://github.com/pgbovine/OnlinePythonTutor/ + +Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +*/ + + +// Pre-reqs: pytutor.js and jquery.ba-bbq.min.js should be imported BEFORE this file + + +// backend scripts to execute (Python 2 and 3 variants, if available) +//var python2_backend_script = 'web_exec_py2.py'; +//var python3_backend_script = 'web_exec_py3.py'; + +// uncomment below if you're running on Google App Engine using the built-in app.yaml +var python2_backend_script = 'exec'; +var python3_backend_script = null; + + +var myVisualizer = null; // singleton ExecutionVisualizer instance + + +$(document).ready(function() { + + var preseededCode = $.bbq.getState('code'); + var cumulativeState = $.bbq.getState('cumulative'); + if (!cumulativeState) { + cumulativeState = 'false'; // string! + } + + var pyState = $.bbq.getState('py'); + var verticalStackBool = ($.bbq.getState('verticalStack') == 'true'); // boolean + + var preseededCurInstr = Number($.bbq.getState('curInstr')); + if (!preseededCurInstr) { + preseededCurInstr = 0; + } + + // TODO: add more options as needed + + + + var backend_script = null; + if (pyState == '2') { + backend_script = python2_backend_script; + } + else if (pyState == '3') { + backend_script = python3_backend_script; + } + + if (!backend_script) { + alert('Error: This server is not configured to run Python ' + $('#pythonVersionSelector').val()); + return; + } + + + $.get(backend_script, + {user_script : preseededCode, cumulative_mode: cumulativeState}, + function(dataFromBackend) { + var trace = dataFromBackend.trace; + + // don't enter visualize mode if there are killer errors: + if (!trace || + (trace.length == 0) || + (trace[trace.length - 1].event == 'uncaught_exception')) { + + if (trace.length == 1) { + alert(trace[0].exception_msg); + } + else if (trace[trace.length - 1].exception_msg) { + alert(trace[trace.length - 1].exception_msg); + } + else { + alert("Whoa, unknown error! Reload to try again, or report a bug to philip@pgbovine.net\n\n(Click the 'Generate URL' button to include a unique URL in your email bug report.)"); + } + } + else { + var startingInstruction = 0; + + // only do this at most ONCE, and then clear out preseededCurInstr + if (preseededCurInstr && preseededCurInstr < trace.length) { // NOP anyways if preseededCurInstr is 0 + startingInstruction = preseededCurInstr; + } + + myVisualizer = new ExecutionVisualizer('vizDiv', + dataFromBackend, + {startingInstruction: preseededCurInstr, + embeddedMode: true, + verticalStack: verticalStackBool, + }); + } + }, + "json"); + + + // log a generic AJAX error handler + $(document).ajaxError(function() { + alert("Online Python Tutor server error (possibly due to memory/resource overload)."); + }); + + + // redraw connector arrows on window resize + $(window).resize(function() { + if (appMode == 'display') { + myVisualizer.redrawConnectors(); + } + }); + +}); + diff --git a/v3/js/index.js b/v3/js/index.js new file mode 100644 index 000000000..3747abd66 --- /dev/null +++ b/v3/js/index.js @@ -0,0 +1,16 @@ +var demoTrace = {"code": "def listSum(numbers):\n if not numbers:\n return 0\n else:\n (f, rest) = numbers\n return f + listSum(rest)\n\nmyList = (1, (2, (3, None)))\ntotal = listSum(myList)\n", "trace": [{"ordered_globals": [], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {}, "heap": {}, "line": 1, "event": "step_line"}, {"ordered_globals": ["listSum"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null]}, "line": 8, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 9, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 1, "event": "call"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 2, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 1, "event": "call"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 2, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 1, "event": "call"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 2, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4]}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 5, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 4, "encoded_locals": {"numbers": null}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f4", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 1, "event": "call"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 4, "encoded_locals": {"numbers": null}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f4", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 2, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 4, "encoded_locals": {"numbers": null}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f4", "ordered_varnames": ["numbers"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 3, "event": "step_line"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 4, "encoded_locals": {"__return__": 0, "numbers": null}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f4", "ordered_varnames": ["numbers", "__return__"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 3, "event": "return"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 3, "encoded_locals": {"__return__": 3, "numbers": ["REF", 4], "rest": null, "f": 3}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f3", "ordered_varnames": ["numbers", "f", "rest", "__return__"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "return"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": false, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest"]}, {"frame_id": 2, "encoded_locals": {"__return__": 5, "numbers": ["REF", 3], "rest": ["REF", 4], "f": 2}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f2", "ordered_varnames": ["numbers", "f", "rest", "__return__"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "return"}, {"ordered_globals": ["listSum", "myList"], "stdout": "", "func_name": "listSum", "stack_to_render": [{"frame_id": 1, "encoded_locals": {"__return__": 6, "numbers": ["REF", 2], "rest": ["REF", 3], "f": 1}, "is_highlighted": true, "is_parent": false, "func_name": "listSum", "is_zombie": false, "parent_frame_id_list": [], "unique_hash": "listSum_f1", "ordered_varnames": ["numbers", "f", "rest", "__return__"]}], "globals": {"myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 6, "event": "return"}, {"ordered_globals": ["listSum", "myList", "total"], "stdout": "", "func_name": "", "stack_to_render": [], "globals": {"total": 6, "myList": ["REF", 2], "listSum": ["REF", 1]}, "heap": {"1": ["FUNCTION", "listSum(numbers)", null], "2": ["TUPLE", 1, ["REF", 3]], "3": ["TUPLE", 2, ["REF", 4]], "4": ["TUPLE", 3, null]}, "line": 9, "event": "return"}]}; + + +$(document).ready(function() { + // for rounded corners + $(".activityPane").corner('15px'); + + var demoViz = new ExecutionVisualizer('demoViz', demoTrace, {embeddedMode: true, + editCodeBaseURL: 'visualize.html'}); + + // redraw connector arrows on window resize + $(window).resize(function() { + demoViz.redrawConnectors(); + }); +}); + diff --git a/v3/js/jquery-1.6.min.js b/v3/js/jquery-1.6.min.js new file mode 100644 index 000000000..c72011dfa --- /dev/null +++ b/v3/js/jquery-1.6.min.js @@ -0,0 +1,16 @@ +/*! + * jQuery JavaScript Library v1.6 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon May 2 13:50:00 2011 -0400 + */ +(function(a,b){function cw(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function ct(a){if(!ch[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ci||(ci=c.createElement("iframe"),ci.frameBorder=ci.width=ci.height=0),c.body.appendChild(ci);if(!cj||!ci.createElement)cj=(ci.contentWindow||ci.contentDocument).document,cj.write("");b=cj.createElement(a),cj.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ci)}ch[a]=d}return ch[a]}function cs(a,b){var c={};f.each(cn.concat.apply([],cn.slice(0,b)),function(){c[this]=a});return c}function cr(){co=b}function cq(){setTimeout(cr,0);return co=f.now()}function cg(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cf(){try{return new a.XMLHttpRequest}catch(b){}}function b_(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){name="data-"+c.replace(j,"$1-$2").toLowerCase(),d=a.getAttribute(name);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(e){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?g=[null,a,null]:g=i.exec(a);if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
a",b=a.getElementsByTagName("*"),d=a.getElementsByTagName("a")[0];if(!b||!b.length||!d)return{};e=c.createElement("select"),f=e.appendChild(c.createElement("option")),g=a.getElementsByTagName("input")[0],i={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.55$/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:g.value==="on",optSelected:f.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},g.checked=!0,i.noCloneChecked=g.cloneNode(!0).checked,e.disabled=!0,i.optDisabled=!f.disabled;try{delete a.test}catch(r){i.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function click(){i.noCloneEvent=!1,a.detachEvent("onclick",click)}),a.cloneNode(!0).fireEvent("onclick")),g=c.createElement("input"),g.value="t",g.setAttribute("type","radio"),i.radioValue=g.value==="t",g.setAttribute("checked","checked"),a.appendChild(g),j=c.createDocumentFragment(),j.appendChild(a.firstChild),i.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",k=c.createElement("body"),l={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(p in l)k.style[p]=l[p];k.appendChild(a),c.documentElement.appendChild(k),i.appendChecked=g.checked,i.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,i.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",i.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
",m=a.getElementsByTagName("td"),q=m[0].offsetHeight===0,m[0].style.display="",m[1].style.display="none",i.reliableHiddenOffsets=q&&m[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(h=c.createElement("div"),h.style.width="0",h.style.marginRight="0",a.appendChild(h),i.reliableMarginRight=(parseInt(c.defaultView.getComputedStyle(h,null).marginRight,10)||0)===0),k.innerHTML="",c.documentElement.removeChild(k);if(a.attachEvent)for(p in{submit:1,change:1,focusin:1})o="on"+p,q=o in a,q||(a.setAttribute(o,"return;"),q=typeof a[o]=="function"),i[p+"Bubbles"]=q;return i}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[c]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||"set"in c&&c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b=a.selectedIndex,c=[],d=a.options,e=a.type==="select-one";if(b<0)return null;for(var g=e?b:0,h=e?b+1:d.length;g=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex",readonly:"readOnly"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c]||(v&&(f.nodeName(a,"form")||u.test(c))?v:b);if(d!==b){if(d===null||d===!1&&!t.test(c)){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;d===!0&&!t.test(c)&&(d=c),a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.getAttribute("value");a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),f.support.getSetAttribute||(f.attrFix=f.extend(f.attrFix,{"for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder"}),v=f.attrHooks.name=f.attrHooks.value=f.valHooks.button={get:function(a,c){var d;if(c==="value"&&!f.nodeName(a,"button"))return a.getAttribute(c);d=a.getAttributeNode(c);return d&&d.specified?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=Object.prototype.hasOwnProperty,x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function J(a){var c=a.target,d,e;if(!!y.test(c.nodeName)&&!c.readOnly){d=f._data(c,"_change_data"),e=I(c),(a.type!=="focusout"||c.type!=="radio")&&f._data(c,"_change_data",e);if(d===b||e===d)return;if(d!=null||e)a.type="change",a.liveFired=b,f.event.trigger(a,arguments[1],c)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){return a.nodeName.toLowerCase()==="input"&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!be[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[];for(var i=0,j;(j=a[i])!=null;i++){typeof j=="number"&&(j+="");if(!j)continue;if(typeof j=="string")if(!ba.test(j))j=b.createTextNode(j);else{j=j.replace(Z,"<$1>");var k=($.exec(j)||["",""])[1].toLowerCase(),l=be[k]||be._default,m=l[0],n=b.createElement("div");n.innerHTML=l[1]+j+l[2];while(m--)n=n.lastChild;if(!f.support.tbody){var o=_.test(j),p=k==="table"&&!o?n.firstChild&&n.firstChild.childNodes:l[1]===""&&!o?n.childNodes:[];for(var q=p.length-1;q>=0;--q)f.nodeName(p[q],"tbody")&&!p[q].childNodes.length&&p[q].parentNode.removeChild(p[q])}!f.support.leadingWhitespace&&Y.test(j)&&n.insertBefore(b.createTextNode(Y.exec(j)[0]),n.firstChild),j=n.childNodes}var r;if(!f.support.appendChecked)if(j[0]&&typeof (r=j.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV;try{bU=e.href}catch(bW){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bX(bS),ajaxTransport:bX(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?b$(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b_(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bY(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bY(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bZ(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var ca=f.now(),cb=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+ca++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cb.test(b.url)||e&&cb.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cb,l),b.url===j&&(e&&(k=k.replace(cb,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cc=a.ActiveXObject?function(){for(var a in ce)ce[a](0,1)}:!1,cd=0,ce;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cf()||cg()}:cf,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cc&&delete ce[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cd,cc&&(ce||(ce={},f(a).unload(cc)),ce[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ch={},ci,cj,ck=/^(?:toggle|show|hide)$/,cl=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cm,cn=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],co,cp=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cs("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a=f.timers,b=a.length;while(b--)a[b]()||a.splice(b,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cm),cm=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cu=/^t(?:able|d|h)$/i,cv=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cw(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cu.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="
";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cv.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cv.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cw(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cw(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/v3/js/jquery-1.8.2.min.js b/v3/js/jquery-1.8.2.min.js new file mode 100644 index 000000000..f65cf1dc4 --- /dev/null +++ b/v3/js/jquery-1.8.2.min.js @@ -0,0 +1,2 @@ +/*! jQuery v1.8.2 jquery.com | jquery.org/license */ +(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(""),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b
a",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
t
",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="
",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;be.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="
",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="

",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b0)for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
","
"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); \ No newline at end of file diff --git a/v3/js/jquery-ui-1.8.21.custom.min.js b/v3/js/jquery-ui-1.8.21.custom.min.js new file mode 100644 index 000000000..e060fdcf4 --- /dev/null +++ b/v3/js/jquery-ui-1.8.21.custom.min.js @@ -0,0 +1,21 @@ +/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.core.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.21",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.position.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?a.isFunction(b)?this.each(function(c){a(this).offset(b.call(this,c,a(this).offset()))}):this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.slider.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){var c=5;a.widget("ui.slider",a.ui.mouse,{widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var b=this,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="",g=d.values&&d.values.length||1,h=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"+(d.disabled?" ui-slider-disabled ui-disabled":"")),this.range=a([]),d.range&&(d.range===!0&&(d.values||(d.values=[this._valueMin(),this._valueMin()]),d.values.length&&d.values.length!==2&&(d.values=[d.values[0],d.values[0]])),this.range=a("
").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(d.range==="min"||d.range==="max"?" ui-slider-range-"+d.range:"")));for(var i=e.length;ic&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i),j===!1?!1:(this._mouseSliding=!0,h._handleIndex=i,g.addClass("ui-state-active").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,i,e),this._animateOff=!0,!0))},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return this.orientation==="horizontal"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation==="vertical"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c1){this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);return}if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return Math.abs(c)*2>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",a(this).stop(1,1)[e?"animate":"css"](g,c.animate),d.options.range===!0&&(d.orientation==="horizontal"?(b===0&&d.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({width:f-h+"%"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({height:f-h+"%"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",this.handle.stop(1,1)[e?"animate":"css"](g,c.animate),b==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},c.animate),b==="max"&&this.orientation==="horizontal"&&this.range[e?"animate":"css"]({width:100-f+"%"},{queue:!1,duration:c.animate}),b==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},c.animate),b==="max"&&this.orientation==="vertical"&&this.range[e?"animate":"css"]({height:100-f+"%"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:"1.8.21"})})(jQuery);; \ No newline at end of file diff --git a/v3/js/jquery-ui-1.8.24.custom.min.js b/v3/js/jquery-ui-1.8.24.custom.min.js new file mode 100644 index 000000000..081901945 --- /dev/null +++ b/v3/js/jquery-ui-1.8.24.custom.min.js @@ -0,0 +1,21 @@ +/*! jQuery UI - v1.8.24 - 2012-09-28 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.core.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.24",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a("").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.curCSS||(a.curCSS=a.css),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);;/*! jQuery UI - v1.8.24 - 2012-09-28 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.position.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?a.isFunction(b)?this.each(function(c){a(this).offset(b.call(this,c,a(this).offset()))}):this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),a.curCSS||(a.curCSS=a.css),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);;/*! jQuery UI - v1.8.24 - 2012-09-28 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.slider.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){var c=5;a.widget("ui.slider",a.ui.mouse,{widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var b=this,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="",g=d.values&&d.values.length||1,h=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"+(d.disabled?" ui-slider-disabled ui-disabled":"")),this.range=a([]),d.range&&(d.range===!0&&(d.values||(d.values=[this._valueMin(),this._valueMin()]),d.values.length&&d.values.length!==2&&(d.values=[d.values[0],d.values[0]])),this.range=a("
").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(d.range==="min"||d.range==="max"?" ui-slider-range-"+d.range:"")));for(var i=e.length;ic&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i),j===!1?!1:(this._mouseSliding=!0,h._handleIndex=i,g.addClass("ui-state-active").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,i,e),this._animateOff=!0,!0))},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return this.orientation==="horizontal"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation==="vertical"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c1){this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);return}if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return Math.abs(c)*2>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",a(this).stop(1,1)[e?"animate":"css"](g,c.animate),d.options.range===!0&&(d.orientation==="horizontal"?(b===0&&d.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({width:f-h+"%"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({height:f-h+"%"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",this.handle.stop(1,1)[e?"animate":"css"](g,c.animate),b==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},c.animate),b==="max"&&this.orientation==="horizontal"&&this.range[e?"animate":"css"]({width:100-f+"%"},{queue:!1,duration:c.animate}),b==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},c.animate),b==="max"&&this.orientation==="vertical"&&this.range[e?"animate":"css"]({height:100-f+"%"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:"1.8.24"})})(jQuery);; \ No newline at end of file diff --git a/v3/js/jquery.ba-bbq.min.js b/v3/js/jquery.ba-bbq.min.js new file mode 100644 index 000000000..bcbf24834 --- /dev/null +++ b/v3/js/jquery.ba-bbq.min.js @@ -0,0 +1,18 @@ +/* + * jQuery BBQ: Back Button & Query Library - v1.2.1 - 2/17/2010 + * http://benalman.com/projects/jquery-bbq-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,p){var i,m=Array.prototype.slice,r=decodeURIComponent,a=$.param,c,l,v,b=$.bbq=$.bbq||{},q,u,j,e=$.event.special,d="hashchange",A="querystring",D="fragment",y="elemUrlAttr",g="location",k="href",t="src",x=/^.*\?|#.*$/g,w=/^.*\#/,h,C={};function E(F){return typeof F==="string"}function B(G){var F=m.call(arguments,1);return function(){return G.apply(this,F.concat(m.call(arguments)))}}function n(F){return F.replace(/^[^#]*#?(.*)$/,"$1")}function o(F){return F.replace(/(?:^[^?#]*\?([^#]*).*$)?.*/,"$1")}function f(H,M,F,I,G){var O,L,K,N,J;if(I!==i){K=F.match(H?/^([^#]*)\#?(.*)$/:/^([^#?]*)\??([^#]*)(#?.*)/);J=K[3]||"";if(G===2&&E(I)){L=I.replace(H?w:x,"")}else{N=l(K[2]);I=E(I)?l[H?D:A](I):I;L=G===2?I:G===1?$.extend({},I,N):$.extend({},N,I);L=a(L);if(H){L=L.replace(h,r)}}O=K[1]+(H?"#":L||!K[1]?"?":"")+L+J}else{O=M(F!==i?F:p[g][k])}return O}a[A]=B(f,0,o);a[D]=c=B(f,1,n);c.noEscape=function(G){G=G||"";var F=$.map(G.split(""),encodeURIComponent);h=new RegExp(F.join("|"),"g")};c.noEscape(",/");$.deparam=l=function(I,F){var H={},G={"true":!0,"false":!1,"null":null};$.each(I.replace(/\+/g," ").split("&"),function(L,Q){var K=Q.split("="),P=r(K[0]),J,O=H,M=0,R=P.split("]["),N=R.length-1;if(/\[/.test(R[0])&&/\]$/.test(R[N])){R[N]=R[N].replace(/\]$/,"");R=R.shift().split("[").concat(R);N=R.length-1}else{N=0}if(K.length===2){J=r(K[1]);if(F){J=J&&!isNaN(J)?+J:J==="undefined"?i:G[J]!==i?G[J]:J}if(N){for(;M<=N;M++){P=R[M]===""?O.length:R[M];O=O[P]=M').hide().insertAfter("body")[0].contentWindow;q=function(){return a(n.document[c][l])};o=function(u,s){if(u!==s){var t=n.document;t.open().close();t[c].hash="#"+u}};o(a())}}m.start=function(){if(r){return}var t=a();o||p();(function s(){var v=a(),u=q(t);if(v!==t){o(t=v,u);$(i).trigger(d)}else{if(u!==t){i[c][l]=i[c][l].replace(/#.*/,"")+"#"+u}}r=setTimeout(s,$[d+"Delay"])})()};m.stop=function(){if(!n){r&&clearTimeout(r);r=0}};return m})()})(jQuery,this); \ No newline at end of file diff --git a/v3/js/jquery.corner.js b/v3/js/jquery.corner.js new file mode 100644 index 000000000..c416613fd --- /dev/null +++ b/v3/js/jquery.corner.js @@ -0,0 +1,249 @@ +/*! + * jQuery corner plugin: simple corner rounding + * Examples and documentation at: http://jquery.malsup.com/corner/ + * version 2.12 (23-MAY-2011) + * Requires jQuery v1.3.2 or later + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * Authors: Dave Methvin and Mike Alsup + */ + +/** + * corner() takes a single string argument: $('#myDiv').corner("effect corners width") + * + * effect: name of the effect to apply, such as round, bevel, notch, bite, etc (default is round). + * corners: one or more of: top, bottom, tr, tl, br, or bl. (default is all corners) + * width: width of the effect; in the case of rounded corners this is the radius. + * specify this value using the px suffix such as 10px (yes, it must be pixels). + */ +;(function($) { + +var style = document.createElement('div').style, + moz = style['MozBorderRadius'] !== undefined, + webkit = style['WebkitBorderRadius'] !== undefined, + radius = style['borderRadius'] !== undefined || style['BorderRadius'] !== undefined, + mode = document.documentMode || 0, + noBottomFold = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8), + + expr = $.browser.msie && (function() { + var div = document.createElement('div'); + try { div.style.setExpression('width','0+0'); div.style.removeExpression('width'); } + catch(e) { return false; } + return true; + })(); + +$.support = $.support || {}; +$.support.borderRadius = moz || webkit || radius; // so you can do: if (!$.support.borderRadius) $('#myDiv').corner(); + +function sz(el, p) { + return parseInt($.css(el,p))||0; +}; +function hex2(s) { + s = parseInt(s).toString(16); + return ( s.length < 2 ) ? '0'+s : s; +}; +function gpc(node) { + while(node) { + var v = $.css(node,'backgroundColor'), rgb; + if (v && v != 'transparent' && v != 'rgba(0, 0, 0, 0)') { + if (v.indexOf('rgb') >= 0) { + rgb = v.match(/\d+/g); + return '#'+ hex2(rgb[0]) + hex2(rgb[1]) + hex2(rgb[2]); + } + return v; + } + if (node.nodeName.toLowerCase() == 'html') + break; + node = node.parentNode; // keep walking if transparent + } + return '#ffffff'; +}; + +function getWidth(fx, i, width) { + switch(fx) { + case 'round': return Math.round(width*(1-Math.cos(Math.asin(i/width)))); + case 'cool': return Math.round(width*(1+Math.cos(Math.asin(i/width)))); + case 'sharp': return width-i; + case 'bite': return Math.round(width*(Math.cos(Math.asin((width-i-1)/width)))); + case 'slide': return Math.round(width*(Math.atan2(i,width/i))); + case 'jut': return Math.round(width*(Math.atan2(width,(width-i-1)))); + case 'curl': return Math.round(width*(Math.atan(i))); + case 'tear': return Math.round(width*(Math.cos(i))); + case 'wicked': return Math.round(width*(Math.tan(i))); + case 'long': return Math.round(width*(Math.sqrt(i))); + case 'sculpt': return Math.round(width*(Math.log((width-i-1),width))); + case 'dogfold': + case 'dog': return (i&1) ? (i+1) : width; + case 'dog2': return (i&2) ? (i+1) : width; + case 'dog3': return (i&3) ? (i+1) : width; + case 'fray': return (i%2)*width; + case 'notch': return width; + case 'bevelfold': + case 'bevel': return i+1; + case 'steep': return i/2 + 1; + case 'invsteep':return (width-i)/2+1; + } +}; + +$.fn.corner = function(options) { + // in 1.3+ we can fix mistakes with the ready state + if (this.length == 0) { + if (!$.isReady && this.selector) { + var s = this.selector, c = this.context; + $(function() { + $(s,c).corner(options); + }); + } + return this; + } + + return this.each(function(index){ + var $this = $(this), + // meta values override options + o = [$this.attr($.fn.corner.defaults.metaAttr) || '', options || ''].join(' ').toLowerCase(), + keep = /keep/.test(o), // keep borders? + cc = ((o.match(/cc:(#[0-9a-f]+)/)||[])[1]), // corner color + sc = ((o.match(/sc:(#[0-9a-f]+)/)||[])[1]), // strip color + width = parseInt((o.match(/(\d+)px/)||[])[1]) || 10, // corner width + re = /round|bevelfold|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dogfold|dog|invsteep|steep/, + fx = ((o.match(re)||['round'])[0]), + fold = /dogfold|bevelfold/.test(o), + edges = { T:0, B:1 }, + opts = { + TL: /top|tl|left/.test(o), TR: /top|tr|right/.test(o), + BL: /bottom|bl|left/.test(o), BR: /bottom|br|right/.test(o) + }, + // vars used in func later + strip, pad, cssHeight, j, bot, d, ds, bw, i, w, e, c, common, $horz; + + if ( !opts.TL && !opts.TR && !opts.BL && !opts.BR ) + opts = { TL:1, TR:1, BL:1, BR:1 }; + + // support native rounding + if ($.fn.corner.defaults.useNative && fx == 'round' && (radius || moz || webkit) && !cc && !sc) { + if (opts.TL) + $this.css(radius ? 'border-top-left-radius' : moz ? '-moz-border-radius-topleft' : '-webkit-border-top-left-radius', width + 'px'); + if (opts.TR) + $this.css(radius ? 'border-top-right-radius' : moz ? '-moz-border-radius-topright' : '-webkit-border-top-right-radius', width + 'px'); + if (opts.BL) + $this.css(radius ? 'border-bottom-left-radius' : moz ? '-moz-border-radius-bottomleft' : '-webkit-border-bottom-left-radius', width + 'px'); + if (opts.BR) + $this.css(radius ? 'border-bottom-right-radius' : moz ? '-moz-border-radius-bottomright' : '-webkit-border-bottom-right-radius', width + 'px'); + return; + } + + strip = document.createElement('div'); + $(strip).css({ + overflow: 'hidden', + height: '1px', + minHeight: '1px', + fontSize: '1px', + backgroundColor: sc || 'transparent', + borderStyle: 'solid' + }); + + pad = { + T: parseInt($.css(this,'paddingTop'))||0, R: parseInt($.css(this,'paddingRight'))||0, + B: parseInt($.css(this,'paddingBottom'))||0, L: parseInt($.css(this,'paddingLeft'))||0 + }; + + if (typeof this.style.zoom != undefined) this.style.zoom = 1; // force 'hasLayout' in IE + if (!keep) this.style.border = 'none'; + strip.style.borderColor = cc || gpc(this.parentNode); + cssHeight = $(this).outerHeight(); + + for (j in edges) { + bot = edges[j]; + // only add stips if needed + if ((bot && (opts.BL || opts.BR)) || (!bot && (opts.TL || opts.TR))) { + strip.style.borderStyle = 'none '+(opts[j+'R']?'solid':'none')+' none '+(opts[j+'L']?'solid':'none'); + d = document.createElement('div'); + $(d).addClass('jquery-corner'); + ds = d.style; + + bot ? this.appendChild(d) : this.insertBefore(d, this.firstChild); + + if (bot && cssHeight != 'auto') { + if ($.css(this,'position') == 'static') + this.style.position = 'relative'; + ds.position = 'absolute'; + ds.bottom = ds.left = ds.padding = ds.margin = '0'; + if (expr) + ds.setExpression('width', 'this.parentNode.offsetWidth'); + else + ds.width = '100%'; + } + else if (!bot && $.browser.msie) { + if ($.css(this,'position') == 'static') + this.style.position = 'relative'; + ds.position = 'absolute'; + ds.top = ds.left = ds.right = ds.padding = ds.margin = '0'; + + // fix ie6 problem when blocked element has a border width + if (expr) { + bw = sz(this,'borderLeftWidth') + sz(this,'borderRightWidth'); + ds.setExpression('width', 'this.parentNode.offsetWidth - '+bw+'+ "px"'); + } + else + ds.width = '100%'; + } + else { + ds.position = 'relative'; + ds.margin = !bot ? '-'+pad.T+'px -'+pad.R+'px '+(pad.T-width)+'px -'+pad.L+'px' : + (pad.B-width)+'px -'+pad.R+'px -'+pad.B+'px -'+pad.L+'px'; + } + + for (i=0; i < width; i++) { + w = Math.max(0,getWidth(fx,i, width)); + e = strip.cloneNode(false); + e.style.borderWidth = '0 '+(opts[j+'R']?w:0)+'px 0 '+(opts[j+'L']?w:0)+'px'; + bot ? d.appendChild(e) : d.insertBefore(e, d.firstChild); + } + + if (fold && $.support.boxModel) { + if (bot && noBottomFold) continue; + for (c in opts) { + if (!opts[c]) continue; + if (bot && (c == 'TL' || c == 'TR')) continue; + if (!bot && (c == 'BL' || c == 'BR')) continue; + + common = { position: 'absolute', border: 'none', margin: 0, padding: 0, overflow: 'hidden', backgroundColor: strip.style.borderColor }; + $horz = $('
').css(common).css({ width: width + 'px', height: '1px' }); + switch(c) { + case 'TL': $horz.css({ bottom: 0, left: 0 }); break; + case 'TR': $horz.css({ bottom: 0, right: 0 }); break; + case 'BL': $horz.css({ top: 0, left: 0 }); break; + case 'BR': $horz.css({ top: 0, right: 0 }); break; + } + d.appendChild($horz[0]); + + var $vert = $('
').css(common).css({ top: 0, bottom: 0, width: '1px', height: width + 'px' }); + switch(c) { + case 'TL': $vert.css({ left: width }); break; + case 'TR': $vert.css({ right: width }); break; + case 'BL': $vert.css({ left: width }); break; + case 'BR': $vert.css({ right: width }); break; + } + d.appendChild($vert[0]); + } + } + } + } + }); +}; + +$.fn.uncorner = function() { + if (radius || moz || webkit) + this.css(radius ? 'border-radius' : moz ? '-moz-border-radius' : '-webkit-border-radius', 0); + $('div.jquery-corner', this).remove(); + return this; +}; + +// expose options +$.fn.corner.defaults = { + useNative: true, // true if plugin should attempt to use native browser support for border radius rounding + metaAttr: 'data-corner' // name of meta attribute to use for options +}; + +})(jQuery); diff --git a/v3/js/jquery.jsPlumb-1.3.10-all-min.js b/v3/js/jquery.jsPlumb-1.3.10-all-min.js new file mode 100644 index 000000000..3171abe1b --- /dev/null +++ b/v3/js/jquery.jsPlumb-1.3.10-all-min.js @@ -0,0 +1 @@ +jsPlumbUtil={isArray:function(b){return Object.prototype.toString.call(b)==="[object Array]"},isString:function(a){return typeof a==="string"},isObject:function(a){return Object.prototype.toString.call(a)==="[object Object]"},convertStyle:function(b,a){if("transparent"===b){return b}var g=b,f=function(h){return h.length==1?"0"+h:h},c=function(h){return f(Number(h).toString(16))},d=/(rgb[a]?\()(.*)(\))/;if(b.match(d)){var e=b.match(d)[2].split(",");g="#"+c(e[0])+c(e[1])+c(e[2]);if(!a&&e.length==4){g=g+c(e[3])}}return g},gradient:function(b,a){b=jsPlumbUtil.isArray(b)?b:[b.x,b.y];a=jsPlumbUtil.isArray(a)?a:[a.x,a.y];return(a[1]-b[1])/(a[0]-b[0])},normal:function(b,a){return -1/jsPlumbUtil.gradient(b,a)},lineLength:function(b,a){b=jsPlumbUtil.isArray(b)?b:[b.x,b.y];a=jsPlumbUtil.isArray(a)?a:[a.x,a.y];return Math.sqrt(Math.pow(a[1]-b[1],2)+Math.pow(a[0]-b[0],2))},segment:function(b,a){b=jsPlumbUtil.isArray(b)?b:[b.x,b.y];a=jsPlumbUtil.isArray(a)?a:[a.x,a.y];if(a[0]>b[0]){return(a[1]>b[1])?2:1}else{return(a[1]>b[1])?3:4}},intersects:function(f,e){var c=f.x,a=f.x+f.w,k=f.y,h=f.y+f.h,d=e.x,b=e.x+e.w,i=e.y,g=e.y+e.h;return((c<=d&&d<=a)&&(k<=i&&i<=h))||((c<=b&&b<=a)&&(k<=i&&i<=h))||((c<=d&&d<=a)&&(k<=g&&g<=h))||((c<=b&&d<=a)&&(k<=g&&g<=h))||((d<=c&&c<=b)&&(i<=k&&k<=g))||((d<=a&&a<=b)&&(i<=k&&k<=g))||((d<=c&&c<=b)&&(i<=h&&h<=g))||((d<=a&&c<=b)&&(i<=h&&h<=g))},segmentMultipliers:[null,[1,-1],[1,1],[-1,1],[-1,-1]],inverseSegmentMultipliers:[null,[-1,-1],[-1,1],[1,1],[1,-1]],pointOnLine:function(a,e,b){var d=jsPlumbUtil.gradient(a,e),i=jsPlumbUtil.segment(a,e),h=b>0?jsPlumbUtil.segmentMultipliers[i]:jsPlumbUtil.inverseSegmentMultipliers[i],c=Math.atan(d),f=Math.abs(b*Math.sin(c))*h[1],g=Math.abs(b*Math.cos(c))*h[0];return{x:a.x+g,y:a.y+f}},perpendicularLineTo:function(c,d,e){var b=jsPlumbUtil.gradient(c,d),f=Math.atan(-1/b),g=e/2*Math.sin(f),a=e/2*Math.cos(f);return[{x:d.x+a,y:d.y+g},{x:d.x-a,y:d.y-g}]},findWithFunction:function(b,d){if(b){for(var c=0;c-1){c.splice(b,1)}return b!=-1},remove:function(b,c){var a=jsPlumbUtil.indexOf(b,c);if(a>-1){b.splice(a,1)}return a!=-1},addWithFunction:function(c,b,a){if(jsPlumbUtil.findWithFunction(c,a)==-1){c.push(b)}},addToList:function(d,b,c){var a=d[b];if(a==null){a=[],d[b]=a}a.push(c);return a},EventGenerator:function(){var c={},b=this;var a=["ready"];this.bind=function(d,e){jsPlumbUtil.addToList(c,d,e);return b};this.fire=function(g,h,d){if(c[g]){for(var f=0;f';var K=L.firstChild;K.style.behavior="url(#default#VML)";b.vml=K?typeof K.adj=="object":true;L.parentNode.removeChild(L)}return b.vml};var i=jsPlumbUtil.findWithFunction,J=jsPlumbUtil.indexOf,D=jsPlumbUtil.removeWithFunction,m=jsPlumbUtil.remove,u=jsPlumbUtil.addWithFunction,l=jsPlumbUtil.addToList,n=jsPlumbUtil.isArray,C=jsPlumbUtil.isString,w=jsPlumbUtil.isObject;if(!window.console){window.console={time:function(){},timeEnd:function(){},group:function(){},groupEnd:function(){},log:function(){}}}var x=null,d=function(K,L){return p.CurrentLibrary.getAttribute(F(K),L)},f=function(L,M,K){p.CurrentLibrary.setAttribute(F(L),M,K)},B=function(L,K){p.CurrentLibrary.addClass(F(L),K)},k=function(L,K){return p.CurrentLibrary.hasClass(F(L),K)},o=function(L,K){p.CurrentLibrary.removeClass(F(L),K)},F=function(K){return p.CurrentLibrary.getElementObject(K)},t=function(K){return p.CurrentLibrary.getOffset(F(K))},a=function(K){return p.CurrentLibrary.getSize(F(K))},q=jsPlumbUtil.log,I=jsPlumbUtil.group,h=jsPlumbUtil.groupEnd,H=jsPlumbUtil.time,v=jsPlumbUtil.timeEnd,r=function(){return""+(new Date()).getTime()},E=function(Z){var U=this,aa=arguments,R=false,O=Z.parameters||{},M=U.idPrefix,W=M+(new Date()).getTime(),V=null,ab=null;U._jsPlumb=Z._jsPlumb;U.getId=function(){return W};U.tooltip=Z.tooltip;U.hoverClass=Z.hoverClass||U._jsPlumb.Defaults.HoverClass||p.Defaults.HoverClass;jsPlumbUtil.EventGenerator.apply(this);this.clone=function(){var ac=new Object();U.constructor.apply(ac,aa);return ac};this.getParameter=function(ac){return O[ac]},this.getParameters=function(){return O},this.setParameter=function(ac,ad){O[ac]=ad},this.setParameters=function(ac){O=ac},this.overlayPlacements=[];var N=Z.beforeDetach;this.isDetachAllowed=function(ac){var ad=U._jsPlumb.checkCondition("beforeDetach",ac);if(N){try{ad=N(ac)}catch(ae){q("jsPlumb: beforeDetach callback failed",ae)}}return ad};var Q=Z.beforeDrop;this.isDropAllowed=function(ah,ae,af,ac,ad){var ag=U._jsPlumb.checkCondition("beforeDrop",{sourceId:ah,targetId:ae,scope:af,connection:ac,dropEndpoint:ad});if(Q){try{ag=Q({sourceId:ah,targetId:ae,scope:af,connection:ac,dropEndpoint:ad})}catch(ai){q("jsPlumb: beforeDrop callback failed",ai)}}return ag};var X=function(){if(V&&ab){var ac={};p.extend(ac,V);p.extend(ac,ab);delete U.hoverPaintStyle;if(ac.gradient&&V.fillStyle){delete ac.gradient}ab=ac}};this.setPaintStyle=function(ac,ad){V=ac;U.paintStyleInUse=V;X();if(!ad){U.repaint()}};this.getPaintStyle=function(){return V};this.setHoverPaintStyle=function(ac,ad){ab=ac;X();if(!ad){U.repaint()}};this.getHoverPaintStyle=function(){return ab};this.setHover=function(ac,ae,ad){if(!U._jsPlumb.currentlyDragging&&!U._jsPlumb.isHoverSuspended()){R=ac;if(U.hoverClass!=null&&U.canvas!=null){if(ac){L.addClass(U.canvas,U.hoverClass)}else{L.removeClass(U.canvas,U.hoverClass)}}if(ab!=null){U.paintStyleInUse=ac?ab:V;ad=ad||r();U.repaint({timestamp:ad,recalc:false})}if(U.getAttachedElements&&!ae){Y(ac,r(),U)}}};this.isHover=function(){return R};var L=p.CurrentLibrary,K=["click","dblclick","mouseenter","mouseout","mousemove","mousedown","mouseup","contextmenu"],T={mouseout:"mouseexit"},P=function(ae,af,ad){var ac=T[ad]||ad;L.bind(ae,ad,function(ag){af.fire(ac,af,ag)})},S=function(ae,ad){var ac=T[ad]||ad;L.unbind(ae,ad)};this.attachListeners=function(ad,ae){for(var ac=0;ac1){for(var ac=0;ac=0?U.overlays[V]:null};this.getOverlays=function(){return U.overlays};this.hideOverlay=function(W){var V=U.getOverlay(W);if(V){V.hide()}};this.hideOverlays=function(){for(var V=0;V0){try{for(var bw=0;bw0?J(bJ,bI)!=-1:true},bA=(!bw&&bD.length>1)?{}:[],bG=function(bJ,bK){if(!bw&&bD.length>1){var bI=bA[bJ];if(bI==null){bI=[];bA[bJ]=bI}bI.push(bK)}else{bA.push(bK)}};for(var bz in aY){if(bx(bD,bz)){for(var by=0;by=4)?[bA[2],bA[3]]:[0,0],offsets:(bA.length==6)?[bA[4],bA[5]]:[0,0],elementId:bx};by=new aa(bz);by.clone=function(){return new aa(bz)}}}}}if(!by.id){by.id="anchor_"+ak()}return by};this.makeAnchors=function(by,bw,bv){var bz=[];for(var bx=0;bx0&&bP>=ap[bI]){console.log("target element "+bI+" is full.");return false}bn.currentlyDragging=false;var bZ=F(bD.getDragObject(arguments)),bO=d(bZ,"dragId"),bX=d(bZ,"originalScope"),bU=bf[bO],bM=bU.endpoints[0],bL=bw.endpoint?p.extend({},bw.endpoint):{};bM.anchor.locked=false;if(bX){bD.setDragScope(bZ,bX)}var bS=proxyComponent.isDropAllowed(bU.sourceId,K(bK),bU.scope,bU,null);if(bU.endpointsToDeleteOnDetach){if(bM===bU.endpointsToDeleteOnDetach[0]){bU.endpointsToDeleteOnDetach[0]=null}else{if(bM===bU.endpointsToDeleteOnDetach[1]){bU.endpointsToDeleteOnDetach[1]=null}}}if(bU.suspendedEndpoint){bU.targetId=bU.suspendedEndpoint.elementId;bU.target=bD.getElementObject(bU.suspendedEndpoint.elementId);bU.endpoints[1]=bU.suspendedEndpoint}if(bS){bM.detach(bU,false,true,false);var bY=aH[bI]||bn.addEndpoint(bK,bw);if(bw.uniqueEndpoint){aH[bI]=bY}bY._makeTargetCreator=true;if(bY.anchor.positionFinder!=null){var bV=bD.getUIPosition(arguments),bR=bD.getOffset(bK),bW=bD.getSize(bK),bQ=bY.anchor.positionFinder(bV,bR,bW,bY.anchor.constructorParams);bY.anchor.x=bQ[0];bY.anchor.y=bQ[1]}var bT=bn.connect({source:bM,target:bY,scope:bX,previousConnection:bU,container:bU.parent,deleteEndpointsOnDetach:bA,doNotFireConnectionEvent:bM.endpointWillMoveAfterConnection});if(bU.endpoints[1]._makeTargetCreator&&bU.endpoints[1].connections.length<2){bn.deleteEndpoint(bU.endpoints[1])}if(bA){bT.endpointsToDeleteOnDetach=[bM,bY]}bT.repaint()}else{if(bU.suspendedEndpoint){if(bM.isReattach){bU.setHover(false);bU.floatingAnchorIndex=null;bU.suspendedEndpoint.addConnection(bU);bn.repaint(bM.elementId)}else{bM.detach(bU,false,true,true,bN)}}}};var bJ=bD.dragEvents.drop;bH.scope=bH.scope||bE;bH[bJ]=am(bH[bJ],bG);bD.initDroppable(bK,bH,true)};by=aI(by);var bC=by.length&&by.constructor!=String?by:[by];for(var bB=0;bB0?bF[0]:null,bA=bF.length>0?0:-1,bE=this,bz=function(bI,bG,bM,bL,bH){var bK=bL[0]+(bI.x*bH[0]),bJ=bL[1]+(bI.y*bH[1]);return Math.sqrt(Math.pow(bG-bK,2)+Math.pow(bM-bJ,2))},bv=bw||function(bQ,bH,bI,bJ,bG){var bL=bI[0]+(bJ[0]/2),bK=bI[1]+(bJ[1]/2);var bN=-1,bP=Infinity;for(var bM=0;bM=by.left)||(bB.left<=by.right&&bB.right>=by.right)||(bB.left<=by.left&&bB.right>=by.right)||(by.left<=bB.left&&by.right>=bB.right)),bG=((bB.top<=by.top&&bB.bottom>=by.top)||(bB.top<=by.bottom&&bB.bottom>=by.bottom)||(bB.top<=by.top&&bB.bottom>=by.bottom)||(by.top<=bB.top&&by.bottom>=bB.bottom));if(!(bA||bG)){var bD=null,bx=false,bv=false,bC=null;if(by.left>bB.left&&by.top>bB.top){bD=["right","top"]}else{if(by.left>bB.left&&bB.top>by.top){bD=["top","left"]}else{if(by.leftbB.top){bD=["left","top"]}}}}return{orientation:T.DIAGONAL,a:bD,theta:bw,theta2:bz}}else{if(bA){return{orientation:T.HORIZONTAL,a:bB.topbv[0]?1:-1},Z=function(bv){return function(bx,bw){var by=true;if(bv){if(bx[0][0]bw[0][1]}}else{if(bx[0][0]>bw[0][0]){by=true}else{by=bx[0][1]>bw[0][1]}}return by===false?-1:1}},O=function(bw,bv){var by=bw[0][0]<0?-Math.PI-bw[0][0]:Math.PI-bw[0][0],bx=bv[0][0]<0?-Math.PI-bv[0][0]:Math.PI-bv[0][0];if(by>bx){return 1}else{return bw[0][1]>bv[0][1]?1:-1}},a0={top:a8,right:Z(true),bottom:Z(true),left:O},ao=function(bv,bw){return bv.sort(bw)},al=function(bw,bv){var by=ae[bw],bz=ah[bw],bx=function(bG,bN,bC,bF,bL,bK,bB){if(bF.length>0){var bJ=ao(bF,a0[bG]),bH=bG==="right"||bG==="top",bA=a2(bG,bN,bC,bJ,bL,bK,bH);var bO=function(bR,bQ){var bP=bo([bQ[0],bQ[1]],bR.canvas);ai[bR.id]=[bP[0],bP[1],bQ[2],bQ[3]];aJ[bR.id]=bB};for(var bD=0;bD0){var bF=bA.getOffset(bG);bw[bD][bI]={id:bI,offset:{left:bF.left-bJ.left,top:bF.top-bJ.top}}}}}};bC(bz)};this.endpointAdded=function(bB){var bF=p.CurrentLibrary,bI=document.body,bz=bn.getId(bB),bH=bF.getDOMElement(bB),bA=bH.parentNode,bD=bA==bI;bv[bz]=bv[bz]?bv[bz]+1:1;while(bA!=bI){var bE=bn.getId(bA);if(by[bE]){var bK=-1,bG=bF.getElementObject(bA),bC=bF.getOffset(bG);if(bw[bE][bz]==null){var bJ=p.CurrentLibrary.getOffset(bB);bw[bE][bz]={id:bz,offset:{left:bJ.left-bC.left,top:bJ.top-bC.top}}}break}bA=bA.parentNode}};this.endpointDeleted=function(bA){if(bv[bA.elementId]){bv[bA.elementId]--;if(bv[bA.elementId]<=0){for(var bz in bw){delete bw[bz][bA.elementId]}}}};this.getElementsForDraggable=function(bz){return bw[bz]};this.reset=function(){by={};bx=[];bw={};bv={}}};bn.dragManager=new aV();var ax=function(bN){var bG=this,bx=true;bG.idPrefix="_jsplumb_c_";bG.defaultLabelLocation=0.5;bG.defaultOverlayKeys=["Overlays","ConnectionOverlays"];this.parent=bN.parent;z.apply(this,arguments);this.isVisible=function(){return bx};this.setVisible=function(bP){bx=bP;bG[bP?"showOverlays":"hideOverlays"]();if(bG.connector&&bG.connector.canvas){bG.connector.canvas.style.display=bP?"block":"none"}};this.source=F(bN.source);this.target=F(bN.target);if(bN.sourceEndpoint){this.source=bN.sourceEndpoint.endpointWillMoveTo||bN.sourceEndpoint.getElement()}if(bN.targetEndpoint){this.target=bN.targetEndpoint.getElement()}bG.previousConnection=bN.previousConnection;var bD=bN.cost;bG.getCost=function(){return bD};bG.setCost=function(bP){bD=bP};var bB=bN.bidirectional===false?false:true;bG.isBidirectional=function(){return bB};this.sourceId=d(this.source,"id");this.targetId=d(this.target,"id");this.getAttachedElements=function(){return bG.endpoints};this.scope=bN.scope;this.endpoints=[];this.endpointStyles=[];var bM=function(bQ,bP){if(bQ){return bn.makeAnchor(bQ,bP,bn)}},bK=function(bP,bV,bQ,bS,bT,bR,bU){if(bP){bG.endpoints[bV]=bP;bP.addConnection(bG)}else{if(!bQ.endpoints){bQ.endpoints=[null,null]}var b1=bQ.endpoints[bV]||bQ.endpoint||bn.Defaults.Endpoints[bV]||p.Defaults.Endpoints[bV]||bn.Defaults.Endpoint||p.Defaults.Endpoint;if(!bQ.endpointStyles){bQ.endpointStyles=[null,null]}if(!bQ.endpointHoverStyles){bQ.endpointHoverStyles=[null,null]}var bZ=bQ.endpointStyles[bV]||bQ.endpointStyle||bn.Defaults.EndpointStyles[bV]||p.Defaults.EndpointStyles[bV]||bn.Defaults.EndpointStyle||p.Defaults.EndpointStyle;if(bZ.fillStyle==null&&bR!=null){bZ.fillStyle=bR.strokeStyle}if(bZ.outlineColor==null&&bR!=null){bZ.outlineColor=bR.outlineColor}if(bZ.outlineWidth==null&&bR!=null){bZ.outlineWidth=bR.outlineWidth}var bY=bQ.endpointHoverStyles[bV]||bQ.endpointHoverStyle||bn.Defaults.EndpointHoverStyles[bV]||p.Defaults.EndpointHoverStyles[bV]||bn.Defaults.EndpointHoverStyle||p.Defaults.EndpointHoverStyle;if(bU!=null){if(bY==null){bY={}}if(bY.fillStyle==null){bY.fillStyle=bU.strokeStyle}}var bX=bQ.anchors?bQ.anchors[bV]:bQ.anchor?bQ.anchor:bM(bn.Defaults.Anchors[bV],bT)||bM(p.Defaults.Anchors[bV],bT)||bM(bn.Defaults.Anchor,bT)||bM(p.Defaults.Anchor,bT),b0=bQ.uuids?bQ.uuids[bV]:null,bW=aF({paintStyle:bZ,hoverPaintStyle:bY,endpoint:b1,connections:[bG],uuid:b0,anchor:bX,source:bS,scope:bQ.scope,container:bQ.container,reattach:bQ.reattach,detachable:bQ.detachable});bG.endpoints[bV]=bW;if(bQ.drawEndpoints===false){bW.setVisible(false,true,true)}return bW}};var bI=bK(bN.sourceEndpoint,0,bN,bG.source,bG.sourceId,bN.paintStyle,bN.hoverPaintStyle);if(bI){V(aT,this.sourceId,bI)}var by=((bG.sourceId==bG.targetId)&&bN.targetEndpoint==null)?bI:bN.targetEndpoint,bH=bK(by,1,bN,bG.target,bG.targetId,bN.paintStyle,bN.hoverPaintStyle);if(bH){V(aT,this.targetId,bH)}if(!this.scope){this.scope=this.endpoints[0].scope}if(bN.deleteEndpointsOnDetach){bG.endpointsToDeleteOnDetach=[bI,bH]}var bw=bn.Defaults.ConnectionsDetachable;if(bN.detachable===false){bw=false}if(bG.endpoints[0].connectionsDetachable===false){bw=false}if(bG.endpoints[1].connectionsDetachable===false){bw=false}if(bD==null){bD=bG.endpoints[0].getConnectionCost()}if(bN.bidirectional==null){bB=bG.endpoints[0].areConnectionsBidirectional()}this.isDetachable=function(){return bw===true};this.setDetachable=function(bP){bw=bP===true};var bO=p.extend({},this.endpoints[0].getParameters());p.extend(bO,this.endpoints[1].getParameters());p.extend(bO,bG.getParameters());bG.setParameters(bO);var bE=bG.setHover;bG.setHover=function(bP){bG.connector.setHover.apply(bG.connector,arguments);bE.apply(bG,arguments)};var bL=function(bP){if(x==null){bG.setHover(bP,false)}};this.setConnector=function(bP,bQ){if(bG.connector!=null){aX(bG.connector.getDisplayElements(),bG.parent)}var bR={_jsPlumb:bG._jsPlumb,parent:bN.parent,cssClass:bN.cssClass,container:bN.container,tooltip:bG.tooltip};if(C(bP)){this.connector=new p.Connectors[X][bP](bR)}else{if(n(bP)){this.connector=new p.Connectors[X][bP[0]](p.extend(bP[1],bR))}}bG.canvas=bG.connector.canvas;G(bG.connector,bG,bL);if(!bQ){bG.repaint()}};bG.setConnector(this.endpoints[0].connector||this.endpoints[1].connector||bN.connector||bn.Defaults.Connector||p.Defaults.Connector,true);this.setPaintStyle(this.endpoints[0].connectorStyle||this.endpoints[1].connectorStyle||bN.paintStyle||bn.Defaults.PaintStyle||p.Defaults.PaintStyle,true);this.setHoverPaintStyle(this.endpoints[0].connectorHoverStyle||this.endpoints[1].connectorHoverStyle||bN.hoverPaintStyle||bn.Defaults.HoverPaintStyle||p.Defaults.HoverPaintStyle,true);this.paintStyleInUse=this.getPaintStyle();this.moveParent=function(bS){var bR=p.CurrentLibrary,bQ=bR.getParent(bG.connector.canvas);if(bG.connector.bgCanvas){bR.removeElement(bG.connector.bgCanvas,bQ);bR.appendElement(bG.connector.bgCanvas,bS)}bR.removeElement(bG.connector.canvas,bQ);bR.appendElement(bG.connector.canvas,bS);for(var bP=0;bP0){bO.connections[0].setHover(b2,false)}else{bO.setHover(b2)}};G(bO.endpoint,bO,b1);this.setPaintStyle(b0.paintStyle||b0.style||bn.Defaults.EndpointStyle||p.Defaults.EndpointStyle,true);this.setHoverPaintStyle(b0.hoverPaintStyle||bn.Defaults.EndpointHoverStyle||p.Defaults.EndpointHoverStyle,true);this.paintStyleInUse=this.getPaintStyle();var bJ=this.getPaintStyle();this.connectorStyle=b0.connectorStyle;this.connectorHoverStyle=b0.connectorHoverStyle;this.connectorOverlays=b0.connectorOverlays;this.connector=b0.connector;this.connectorTooltip=b0.connectorTooltip;this.isSource=b0.isSource||false;this.isTarget=b0.isTarget||false;var bU=b0.maxConnections||bn.Defaults.MaxConnections;this.getAttachedElements=function(){return bO.connections};this.canvas=this.endpoint.canvas;this.connections=b0.connections||[];this.scope=b0.scope||Q;this.timestamp=null;bO.isReattach=b0.reattach||false;bO.connectionsDetachable=bn.Defaults.ConnectionsDetachable;if(b0.connectionsDetachable===false||b0.detachable===false){bO.connectionsDetachable=false}var bI=b0.dragAllowedWhenFull||true;this.computeAnchor=function(b2){return bO.anchor.compute(b2)};this.addConnection=function(b2){bO.connections.push(b2)};this.detach=function(b3,b8,b4,cb,b2){var ca=i(bO.connections,function(cd){return cd.id==b3.id}),b9=false;cb=(cb!==false);if(ca>=0){if(b4||b3._forceDetach||b3.isDetachable()||b3.isDetachAllowed(b3)){var cc=b3.endpoints[0]==bO?b3.endpoints[1]:b3.endpoints[0];if(b4||b3._forceDetach||(bO.isDetachAllowed(b3))){bO.connections.splice(ca,1);if(!b8){cc.detach(b3,true,b4);if(b3.endpointsToDeleteOnDetach){for(var b7=0;b70){bO.detach(bO.connections[0],false,true,b3,b2)}};this.detachFrom=function(b5,b4,b2){var b6=[];for(var b3=0;b3=0){bO.connections.splice(b2,1)}};this.getElement=function(){return bN};this.setElement=function(b5,b2){var b7=K(b5);D(aT[bO.elementId],function(b8){return b8.id==bO.id});bN=F(b5);bF=K(bN);bO.elementId=bF;var b6=aw({source:b7,container:b2}),b4=bz.getParent(bO.canvas);bz.removeElement(bO.canvas,b4);bz.appendElement(bO.canvas,b6);for(var b3=0;b30){var ce=bK(b5.elementWithPrecedence),cg=ce.endpoints[0]==bO?1:0,b7=cg==0?ce.sourceId:ce.targetId,cd=ah[b7],cf=ae[b7];b4.txy=[cd.left,cd.top];b4.twh=cf;b4.tElement=ce.endpoints[cg]}b8=bO.anchor.compute(b4)}var cc=bL.compute(b8,bO.anchor.getOrientation(bO),bO.paintStyleInUse,b6||bO.paintStyleInUse);bL.paint(cc,bO.paintStyleInUse,bO.anchor);bO.timestamp=cb;for(var b9=0;b90?t:m+t:t*m;return jsPlumbUtil.pointOnLine({x:h,y:g},{x:d,y:c},s)}}};this.gradientAtPoint=function(s){return e};this.pointAlongPathFrom=function(s,w,v){var u=r.pointOnPath(s,v),t=s==1?{x:h+((d-h)*10),y:g+((g-c)*10)}:{x:d,y:c};return jsPlumbUtil.pointOnLine(u,t,w)}};jsPlumb.Connectors.Bezier=function(v){var p=this;v=v||{};this.majorAnchor=v.curviness||150;this.minorAnchor=10;var t=null;this.type="Bezier";this._findControlPoint=function(H,w,C,x,A,F,y){var E=F.getOrientation(x),G=y.getOrientation(A),B=E[0]!=G[0]||E[1]==G[1],z=[],I=p.majorAnchor,D=p.minorAnchor;if(!B){if(E[0]==0){z.push(w[0]u){u=C}if(F<0){s+=F;var H=Math.abs(F);u+=H;q[0]+=H;f+=H;o+=H;l[0]+=H}var P=Math.min(e,n),N=Math.min(q[1],l[1]),B=Math.min(P,N),G=Math.max(e,n),E=Math.max(q[1],l[1]),y=Math.max(G,E);if(y>d){d=y}if(B<0){r+=B;var D=Math.abs(B);d+=D;q[1]+=D;e+=D;n+=D;l[1]+=D}if(L&&u0?0:1,w)}return w};this.pointOnPath=function(w,y){var x=c();w=m(x,w,y);return jsBezier.pointOnCurve(x,w)};this.gradientAtPoint=function(w,y){var x=c();w=m(x,w,y);return jsBezier.gradientAtPoint(x,w)};this.pointAlongPathFrom=function(w,z,y){var x=c();w=m(x,w,y);return jsBezier.pointAlongCurveFrom(x,w,z)}};jsPlumb.Connectors.Flowchart=function(v){this.type="Flowchart";v=v||{};var n=this,c=v.stub||v.minStubLength||30,f=jsPlumbUtil.isArray(c)?c[0]:c,k=jsPlumbUtil.isArray(c)?c[1]:c,p=v.gap||0,q=[],i=0,d=[],m=[],r=[],o,l,u=-Infinity,s=-Infinity,w=Infinity,t=Infinity,x=function(z,y,D,C){var B=0;for(var A=0;A0?A/i:(i+A)/i}var y=d.length-1,z=1;for(var B=0;B=A){y=B;z=(A-d[B][0])/m[B];break}}return{segment:q[y],proportion:z,index:y}};this.compute=function(W,ak,z,Q,av,K,U,P,ap,am){q=[];d=[];i=0;m=[];u=s=-Infinity;w=t=Infinity;o=ak[0]au?0:1,ae=[1,0][ac];N=[];aw=[];N[ac]=W[ac]>ak[ac]?-1:1;aw[ac]=W[ac]>ak[ac]?1:-1;N[ae]=0;aw[ae]=0}if(al(f+k),X=Math.abs(H-aq)>(f+k),ah=Z+((L-Z)/2),af=Y+((J-Y)/2),O=((N[0]*aw[0])+(N[1]*aw[1])),ab=O==-1,ad=O==0,C=O==1;aj-=E;ai-=D;r=[aj,ai,al,au,I,H,ar,aq];var ao=[];var S=N[0]==0?"y":"x",M=ab?"opposite":C?"orthogonal":"perpendicular",F=jsPlumbUtil.segment([I,H],[ar,aq]),ag=N[S=="x"?0:1]==-1,R={x:[null,4,3,2,1],y:[null,2,1,4,3]};if(ag){F=R[S][F]}g(Z,Y,I,H,ar,aq);var T=function(az,ay,y,ax){return az+(ay*((1-y)*ax)+Math.max(f,k))},G={oppositex:function(){if(z.elementId==Q.elementId){var y=Y+((1-av.y)*ap.height)+Math.max(f,k);return[[Z,y],[L,y]]}else{if(V&&(F==1||F==2)){return[[ah,H],[ah,aq]]}else{return[[Z,af],[L,af]]}}},orthogonalx:function(){if(F==1||F==2){return[[L,Y]]}else{return[[Z,J]]}},perpendicularx:function(){var y=(aq+H)/2;if((F==1&&aw[1]==1)||(F==2&&aw[1]==-1)){if(Math.abs(ar-I)>Math.max(f,k)){return[[L,Y]]}else{return[[Z,Y],[Z,y],[L,y]]}}else{if((F==3&&aw[1]==-1)||(F==4&&aw[1]==1)){return[[Z,y],[L,y]]}else{if((F==3&&aw[1]==1)||(F==4&&aw[1]==-1)){return[[Z,J]]}else{if((F==1&&aw[1]==-1)||(F==2&&aw[1]==1)){if(Math.abs(ar-I)>Math.max(f,k)){return[[ah,Y],[ah,J]]}else{return[[Z,J]]}}}}}},oppositey:function(){if(z.elementId==Q.elementId){var y=Z+((1-av.x)*ap.width)+Math.max(f,k);return[[y,Y],[y,J]]}else{if(X&&(F==2||F==3)){return[[I,af],[ar,af]]}else{return[[ah,Y],[ah,J]]}}},orthogonaly:function(){if(F==2||F==3){return[[Z,J]]}else{return[[L,Y]]}},perpendiculary:function(){var y=(ar+I)/2;if((F==2&&aw[0]==-1)||(F==3&&aw[0]==1)){if(Math.abs(ar-I)>Math.max(f,k)){return[[Z,J]]}else{return[[Z,af],[L,af]]}}else{if((F==1&&aw[0]==-1)||(F==4&&aw[0]==1)){var y=(ar+I)/2;return[[y,Y],[y,J]]}else{if((F==1&&aw[0]==1)||(F==4&&aw[0]==-1)){return[[L,Y]]}else{if((F==2&&aw[0]==1)||(F==3&&aw[0]==-1)){if(Math.abs(aq-H)>Math.max(f,k)){return[[Z,af],[L,af]]}else{return[[L,Y]]}}}}}}};var an=G[M+S]();if(an){for(var at=0;atr[3]){r[3]=s+(U*2)}if(u>r[2]){r[2]=u+(U*2)}return r};this.pointOnPath=function(y,z){return n.pointAlongPathFrom(y,0,z)};this.gradientAtPoint=function(y,z){return q[e(y,z)["index"]][4]};this.pointAlongPathFrom=function(F,y,E){var G=e(F,E),C=G.segment,z=G.proportion,B=q[G.index][5],A=q[G.index][4];var D={x:A==Infinity?C[2]:C[2]>C[0]?C[0]+((1-z)*B)-y:C[2]+(z*B)+y,y:A==0?C[3]:C[3]>C[1]?C[1]+((1-z)*B)-y:C[3]+(z*B)+y,segmentInfo:G};return D}};jsPlumb.Endpoints.Dot=function(d){this.type="Dot";var c=this;d=d||{};this.radius=d.radius||10;this.defaultOffset=0.5*this.radius;this.defaultInnerRadius=this.radius/3;this.compute=function(i,f,l,h){var g=l.radius||c.radius,e=i[0]-g,k=i[1]-g;return[e,k,g*2,g*2,g]}};jsPlumb.Endpoints.Rectangle=function(d){this.type="Rectangle";var c=this;d=d||{};this.width=d.width||20;this.height=d.height||20;this.compute=function(k,g,m,i){var h=m.width||c.width,f=m.height||c.height,e=k[0]-(h/2),l=k[1]-(f/2);return[e,l,h,f]}};var a=function(e){jsPlumb.DOMElementComponent.apply(this,arguments);var c=this;var d=[];this.getDisplayElements=function(){return d};this.appendDisplayElement=function(f){d.push(f)}};jsPlumb.Endpoints.Image=function(g){this.type="Image";a.apply(this,arguments);var l=this,f=false,e=g.width,d=g.height,i=null,c=g.endpoint;this.img=new Image();l.ready=false;this.img.onload=function(){l.ready=true;e=e||l.img.width;d=d||l.img.height;if(i){i(l)}};c.setImage=function(m,o){var n=m.constructor==String?m:m.src;i=o;l.img.src=m;if(l.canvas!=null){l.canvas.setAttribute("src",m)}};c.setImage(g.src||g.url,g.onload);this.compute=function(o,m,p,n){l.anchorPoint=o;if(l.ready){return[o[0]-e/2,o[1]-d/2,e,d]}else{return[0,0,0,0]}};l.canvas=document.createElement("img"),f=false;l.canvas.style.margin=0;l.canvas.style.padding=0;l.canvas.style.outline=0;l.canvas.style.position="absolute";var h=g.cssClass?" "+g.cssClass:"";l.canvas.className=jsPlumb.endpointClass+h;if(e){l.canvas.setAttribute("width",e)}if(d){l.canvas.setAttribute("height",d)}jsPlumb.appendElement(l.canvas,g.parent);l.attachListeners(l.canvas,l);var k=function(p,o,n){if(!f){l.canvas.setAttribute("src",l.img.src);l.appendDisplayElement(l.canvas);f=true}var m=l.anchorPoint[0]-(e/2),q=l.anchorPoint[1]-(d/2);jsPlumb.sizeCanvas(l.canvas,m,q,e,d)};this.paint=function(o,n,m){if(l.ready){k(o,n,m)}else{window.setTimeout(function(){l.paint(o,n,m)},200)}}};jsPlumb.Endpoints.Blank=function(d){var c=this;this.type="Blank";a.apply(this,arguments);this.compute=function(g,e,h,f){return[g[0],g[1],10,0]};c.canvas=document.createElement("div");c.canvas.style.display="block";c.canvas.style.width="1px";c.canvas.style.height="1px";c.canvas.style.background="transparent";c.canvas.style.position="absolute";c.canvas.className=c._jsPlumb.endpointClass;jsPlumb.appendElement(c.canvas,d.parent);this.paint=function(g,f,e){jsPlumb.sizeCanvas(c.canvas,g[0],g[1],g[2],g[3])}};jsPlumb.Endpoints.Triangle=function(c){this.type="Triangle";c=c||{};c.width=c.width||55;c.height=c.height||55;this.width=c.width;this.height=c.height;this.compute=function(i,f,l,h){var g=l.width||self.width,e=l.height||self.height,d=i[0]-(g/2),k=i[1]-(e/2);return[d,k,g,e]}};var b=function(e){var d=true,c=this;this.isAppendedAtTopLevel=true;this.component=e.component;this.loc=e.location==null?0.5:e.location;this.endpointLoc=e.endpointLocation==null?[0.5,0.5]:e.endpointLocation;this.setVisible=function(f){d=f;c.component.repaint()};this.isVisible=function(){return d};this.hide=function(){c.setVisible(false)};this.show=function(){c.setVisible(true)};this.incrementLocation=function(f){c.loc+=f;c.component.repaint()};this.setLocation=function(f){c.loc=f;c.component.repaint()};this.getLocation=function(){return c.loc}};jsPlumb.Overlays.Arrow=function(g){this.type="Arrow";b.apply(this,arguments);this.isAppendedAtTopLevel=false;g=g||{};var d=this;this.length=g.length||20;this.width=g.width||20;this.id=g.id;var f=(g.direction||1)<0?-1:1,e=g.paintStyle||{lineWidth:1},c=g.foldback||0.623;this.computeMaxSize=function(){return d.width*1.5};this.cleanup=function(){};this.draw=function(k,z,u){var o,v,h,p,n;if(k.pointAlongPathFrom){if(jsPlumbUtil.isString(d.loc)||d.loc>1||d.loc<0){var i=parseInt(d.loc);o=k.pointAlongPathFrom(i,f*d.length/2,true),v=k.pointOnPath(i,true),h=jsPlumbUtil.pointOnLine(o,v,d.length)}else{if(d.loc==1){o=k.pointOnPath(d.loc);v=k.pointAlongPathFrom(d.loc,-1);h=jsPlumbUtil.pointOnLine(o,v,d.length)}else{if(d.loc==0){h=k.pointOnPath(d.loc);v=k.pointAlongPathFrom(d.loc,1);o=jsPlumbUtil.pointOnLine(h,v,d.length)}else{o=k.pointAlongPathFrom(d.loc,f*d.length/2),v=k.pointOnPath(d.loc),h=jsPlumbUtil.pointOnLine(o,v,d.length)}}}p=jsPlumbUtil.perpendicularLineTo(o,h,d.width);n=jsPlumbUtil.pointOnLine(o,h,c*d.length);var y=Math.min(o.x,p[0].x,p[1].x),s=Math.max(o.x,p[0].x,p[1].x),x=Math.min(o.y,p[0].y,p[1].y),r=Math.max(o.y,p[0].y,p[1].y);var q={hxy:o,tail:p,cxy:n},t=e.strokeStyle||z.strokeStyle,w=e.fillStyle||z.strokeStyle,m=e.lineWidth||z.lineWidth;d.paint(k,q,m,t,w,u);return[y,s,x,r]}else{return[0,0,0,0]}}};jsPlumb.Overlays.PlainArrow=function(d){d=d||{};var c=jsPlumb.extend(d,{foldback:1});jsPlumb.Overlays.Arrow.call(this,c);this.type="PlainArrow"};jsPlumb.Overlays.Diamond=function(e){e=e||{};var c=e.length||40,d=jsPlumb.extend(e,{length:c/2,foldback:2});jsPlumb.Overlays.Arrow.call(this,d);this.type="Diamond"};jsPlumb.Overlays.Label=function(i){this.type="Label";jsPlumb.DOMElementComponent.apply(this,arguments);b.apply(this,arguments);this.labelStyle=i.labelStyle||jsPlumb.Defaults.LabelStyle;this.id=i.id;this.cachedDimensions=null;var e=i.label||"",c=this,f=false,k=document.createElement("div"),g=null;k.style.position="absolute";var d=i._jsPlumb.overlayClass+" "+(c.labelStyle.cssClass?c.labelStyle.cssClass:i.cssClass?i.cssClass:"");k.className=d;jsPlumb.appendElement(k,i.component.parent);jsPlumb.getId(k);c.attachListeners(k,c);c.canvas=k;var h=c.setVisible;c.setVisible=function(l){h(l);k.style.display=l?"block":"none"};this.getElement=function(){return k};this.cleanup=function(){if(k!=null){jsPlumb.CurrentLibrary.removeElement(k)}};this.setLabel=function(m){e=m;g=null;c.component.repaint()};this.getLabel=function(){return e};this.paint=function(l,n,m){if(!f){l.appendDisplayElement(k);c.attachListeners(k,l);f=true}k.style.left=(m[0]+n.minx)+"px";k.style.top=(m[1]+n.miny)+"px"};this.getTextDimensions=function(){if(typeof e=="function"){var l=e(c);k.innerHTML=l.replace(/\r\n/g,"
")}else{if(g==null){g=e;k.innerHTML=g.replace(/\r\n/g,"
")}}var n=jsPlumb.CurrentLibrary.getElementObject(k),m=jsPlumb.CurrentLibrary.getSize(n);return{width:m[0],height:m[1]}};this.computeMaxSize=function(l){var m=c.getTextDimensions(l);return m.width?Math.max(m.width,m.height)*1.5:0};this.draw=function(m,n,o){var s=c.getTextDimensions(m);if(s.width!=null){var p={x:0,y:0};if(m.pointOnPath){var q=c.loc,r=false;if(jsPlumbUtil.isString(c.loc)||c.loc<0||c.loc>1){q=parseInt(c.loc);r=true}p=m.pointOnPath(q,r)}else{var l=c.loc.constructor==Array?c.loc:c.endpointLoc;p={x:l[0]*o[2],y:l[1]*o[3]}}minx=p.x-(s.width/2),miny=p.y-(s.height/2);c.paint(m,{minx:minx,miny:miny,td:s,cxy:p},o);return[minx,minx+s.width,miny,miny+s.height]}else{return[0,0,0,0]}};this.reattachListeners=function(l){if(k){c.reattachListenersForElement(k,c,l)}}};jsPlumb.Overlays.GuideLines=function(){var c=this;c.length=50;c.lineWidth=5;this.type="GuideLines";b.apply(this,arguments);jsPlumb.jsPlumbUIComponent.apply(this,arguments);this.draw=function(e,l,k){var i=e.pointAlongPathFrom(c.loc,c.length/2),h=e.pointOnPath(c.loc),g=jsPlumbUtil.pointOnLine(i,h,c.length),f=jsPlumbUtil.perpendicularLineTo(i,g,40),d=jsPlumbUtil.perpendicularLineTo(g,i,20);c.paint(e,[i,g,f,d],c.lineWidth,"red",null,k);return[Math.min(i.x,g.x),Math.min(i.y,g.y),Math.max(i.x,g.x),Math.max(i.y,g.y)]};this.computeMaxSize=function(){return 50};this.cleanup=function(){}}})();(function(){var c=function(e,g,d,f){this.m=(f-g)/(d-e);this.b=-1*((this.m*e)-g);this.rectIntersect=function(q,p,s,o){var n=[];var k=(p-this.b)/this.m;if(k>=q&&k<=(q+s)){n.push([k,(this.m*k)+this.b])}var t=(this.m*(q+s))+this.b;if(t>=p&&t<=(p+o)){n.push([(t-this.b)/this.m,t])}var k=((p+o)-this.b)/this.m;if(k>=q&&k<=(q+s)){n.push([k,(this.m*k)+this.b])}var t=(this.m*q)+this.b;if(t>=p&&t<=(p+o)){n.push([(t-this.b)/this.m,t])}if(n.length==2){var m=(n[0][0]+n[1][0])/2,l=(n[0][1]+n[1][1])/2;n.push([m,l]);var i=m<=q+(s/2)?-1:1,r=l<=p+(o/2)?-1:1;n.push([i,r]);return n}return null}},a=function(e,g,d,f){if(e<=d&&f<=g){return 1}else{if(e<=d&&g<=f){return 2}else{if(d<=e&&f>=g){return 3}}}return 4},b=function(g,f,i,e,h,m,l,d,k){if(d<=k){return[g,f]}if(i==1){if(e[3]<=0&&h[3]>=1){return[g+(e[2]<0.5?-1*m:m),f]}else{if(e[2]>=1&&h[2]<=0){return[g,f+(e[3]<0.5?-1*l:l)]}else{return[g+(-1*m),f+(-1*l)]}}}else{if(i==2){if(e[3]>=1&&h[3]<=0){return[g+(e[2]<0.5?-1*m:m),f]}else{if(e[2]>=1&&h[2]<=0){return[g,f+(e[3]<0.5?-1*l:l)]}else{return[g+(1*m),f+(-1*l)]}}}else{if(i==3){if(e[3]>=1&&h[3]<=0){return[g+(e[2]<0.5?-1*m:m),f]}else{if(e[2]<=0&&h[2]>=1){return[g,f+(e[3]<0.5?-1*l:l)]}else{return[g+(-1*m),f+(-1*l)]}}}else{if(i==4){if(e[3]<=0&&h[3]>=1){return[g+(e[2]<0.5?-1*m:m),f]}else{if(e[2]<=0&&h[2]>=1){return[g,f+(e[3]<0.5?-1*l:l)]}else{return[g+(1*m),f+(-1*l)]}}}}}}};jsPlumb.Connectors.StateMachine=function(l){var u=this,n=null,o,m,g,e,p=[],d=l.curviness||10,k=l.margin||5,q=l.proximityLimit||80,f=l.orientation&&l.orientation=="clockwise",i=l.loopbackRadius||25,h=false,t=l.showLoopback!==false;this.type="StateMachine";l=l||{};this.compute=function(ad,H,W,I,ac,z,v,U){var Q=Math.abs(ad[0]-H[0]),Y=Math.abs(ad[1]-H[1]),S=0.45*Q,ab=0.45*Y;Q*=1.9;Y*=1.9;v=v||1;var O=Math.min(ad[0],H[0])-S,M=Math.min(ad[1],H[1])-ab;if(!t||(W.elementId!=I.elementId)){h=false;o=ad[0]0?0:1,v)}return v};this.pointOnPath=function(x,B){if(h){if(B){var y=Math.PI*2*i;x=x/y}if(x>0&&x<1){x=1-x}var z=(x*2*Math.PI)+(Math.PI/2),w=n[4]+(n[6]*Math.cos(z)),v=n[5]+(n[6]*Math.sin(z));return{x:w,y:v}}else{var A=r();x=s(A,x,B);return jsBezier.pointOnCurve(A,x)}};this.gradientAtPoint=function(v,y){if(h){if(y){var w=Math.PI*2*i;v=v/w}return Math.atan(v*2*Math.PI)}else{var x=r();v=s(x,v,y);return jsBezier.gradientAtPoint(x,v)}};this.pointAlongPathFrom=function(D,v,C){if(h){if(C){var B=Math.PI*2*i;D=D/B}if(D>0&&D<1){D=1-D}var B=2*Math.PI*n[6],w=v/B*2*Math.PI,z=(D*2*Math.PI)-w+(Math.PI/2),y=n[4]+(n[6]*Math.cos(z)),x=n[5]+(n[6]*Math.sin(z));return{x:y,y:x}}else{var A=r();D=s(A,D,C);return jsBezier.pointAlongCurveFrom(A,D,v)}}};jsPlumb.Connectors.canvas.StateMachine=function(f){f=f||{};var d=this,g=f.drawGuideline||true,e=f.avoidSelector;jsPlumb.Connectors.StateMachine.apply(this,arguments);jsPlumb.CanvasConnector.apply(this,arguments);this._paint=function(l){if(l.length==10){d.ctx.beginPath();d.ctx.moveTo(l[4],l[5]);d.ctx.bezierCurveTo(l[8],l[9],l[8],l[9],l[6],l[7]);d.ctx.stroke()}else{d.ctx.save();d.ctx.beginPath();var k=0,i=2*Math.PI,h=l[7];d.ctx.arc(l[4],l[5],l[6],0,i,h);d.ctx.stroke();d.ctx.closePath();d.ctx.restore()}};this.createGradient=function(i,h){return h.createLinearGradient(i[4],i[5],i[6],i[7])}};jsPlumb.Connectors.svg.StateMachine=function(){var d=this;jsPlumb.Connectors.StateMachine.apply(this,arguments);jsPlumb.SvgConnector.apply(this,arguments);this.getPath=function(e){if(e.length==10){return"M "+e[4]+" "+e[5]+" C "+e[8]+" "+e[9]+" "+e[8]+" "+e[9]+" "+e[6]+" "+e[7]}else{return"M"+(e[8]+4)+" "+e[9]+" A "+e[6]+" "+e[6]+" 0 1,0 "+(e[8]-4)+" "+e[9]}}};jsPlumb.Connectors.vml.StateMachine=function(){jsPlumb.Connectors.StateMachine.apply(this,arguments);jsPlumb.VmlConnector.apply(this,arguments);var d=jsPlumb.vml.convertValue;this.getPath=function(k){if(k.length==10){return"m"+d(k[4])+","+d(k[5])+" c"+d(k[8])+","+d(k[9])+","+d(k[8])+","+d(k[9])+","+d(k[6])+","+d(k[7])+" e"}else{var h=d(k[8]-k[6]),g=d(k[9]-(2*k[6])),f=h+d(2*k[6]),e=g+d(2*k[6]),l=h+","+g+","+f+","+e;var i="ar "+l+","+d(k[8])+","+d(k[9])+","+d(k[8])+","+d(k[9])+" e";return i}}}})();(function(){var h={"stroke-linejoin":"joinstyle",joinstyle:"joinstyle",endcap:"endcap",miterlimit:"miterlimit"},c=null;if(document.createStyleSheet&&document.namespaces){var m=[".jsplumb_vml","jsplumb\\:textbox","jsplumb\\:oval","jsplumb\\:rect","jsplumb\\:stroke","jsplumb\\:shape","jsplumb\\:group"],g="behavior:url(#default#VML);position:absolute;";c=document.createStyleSheet();for(var r=0;r0&&C>0&&u=u&&w[2]<=C&&w[3]>=C)){return true}}var A=q.canvas.getContext("2d").getImageData(parseInt(u),parseInt(C),1,1);return A.data[0]!=0||A.data[1]!=0||A.data[2]!=0||A.data[3]!=0}return false};var p=false,o=false,t=null,s=false,r=function(v,u){return v!=null&&i(v,u)};this.mousemove=function(x){var z=n(x),w=f(x),v=document.elementFromPoint(w[0],w[1]),y=r(v,"_jsPlumb_overlay");var u=d==null&&(r(v,"_jsPlumb_endpoint")||r(v,"_jsPlumb_connector"));if(!p&&u&&q._over(x)){p=true;q.fire("mouseenter",q,x);return true}else{if(p&&(!q._over(x)||!u)&&!y){p=false;q.fire("mouseexit",q,x)}}q.fire("mousemove",q,x)};this.click=function(u){if(p&&q._over(u)&&!s){q.fire("click",q,u)}s=false};this.dblclick=function(u){if(p&&q._over(u)&&!s){q.fire("dblclick",q,u)}s=false};this.mousedown=function(u){if(q._over(u)&&!o){o=true;t=m(a(q.canvas));q.fire("mousedown",q,u)}};this.mouseup=function(u){o=false;q.fire("mouseup",q,u)};this.contextmenu=function(u){if(p&&q._over(u)&&!s){q.fire("contextmenu",q,u)}s=false}};var c=function(p){var o=document.createElement("canvas");p._jsPlumb.appendElement(o,p.parent);o.style.position="absolute";if(p["class"]){o.className=p["class"]}p._jsPlumb.getId(o,p.uuid);if(p.tooltip){o.setAttribute("title",p.tooltip)}return o};var l=function(p){k.apply(this,arguments);var o=[];this.getDisplayElements=function(){return o};this.appendDisplayElement=function(q){o.push(q)}};var h=jsPlumb.CanvasConnector=function(r){l.apply(this,arguments);var o=function(v,t){p.ctx.save();jsPlumb.extend(p.ctx,t);if(t.gradient){var u=p.createGradient(v,p.ctx);for(var s=0;s0?c[0].tagName:null},getUIPosition:function(c){if(c.length==1){ret={left:c[0].pageX,top:c[0].pageY}}else{var d=c[1],b=d.offset;ret=b||d.absolutePosition}return ret},hasClass:function(c,b){return c.hasClass(b)},initDraggable:function(c,b,d){b=b||{};b.helper=null;if(d){b.scope=b.scope||jsPlumb.Defaults.Scope}c.draggable(b)},initDroppable:function(c,b){b.scope=b.scope||jsPlumb.Defaults.Scope;c.droppable(b)},isAlreadyDraggable:function(b){b=jsPlumb.CurrentLibrary.getElementObject(b);return b.hasClass("ui-draggable")},isDragSupported:function(c,b){return c.draggable},isDropSupported:function(c,b){return c.droppable},removeClass:function(c,b){c=jsPlumb.CurrentLibrary.getElementObject(c);try{if(c[0].className.constructor==SVGAnimatedString){jsPlumb.util.svg.removeClass(c[0],b)}}catch(d){}c.removeClass(b)},removeElement:function(b,c){jsPlumb.CurrentLibrary.getElementObject(b).remove()},setAttribute:function(c,d,b){c.attr(d,b)},setDraggable:function(c,b){c.draggable("option","disabled",!b)},setDragScope:function(c,b){c.draggable("option","scope",b)},setOffset:function(b,c){jsPlumb.CurrentLibrary.getElementObject(b).offset(c)},trigger:function(d,e,b){var c=jQuery._data(jsPlumb.CurrentLibrary.getElementObject(d)[0],"handle");c(b)},unbind:function(b,c,d){b=jsPlumb.CurrentLibrary.getElementObject(b);b.unbind(c,d)}};a(document).ready(jsPlumb.init)})(jQuery);(function(){"undefined"==typeof Math.sgn&&(Math.sgn=function(l){return 0==l?0:0=64){x[0]=(C[0].x+C[B].x)/2;return 1}var p,u=C[0].y-C[B].y;y=C[B].x-C[0].x;q=C[0].x*C[B].y-C[B].x*C[0].y;s=max_distance_below=0;for(p=1;ps?s=r:r0?1:-1,r=null;n1){l.location=1}if(l.location<0){l.location=0}return i(m,l.location)},nearestPointOnCurve:function(m,l){var n=h(m,l);return{point:k(l,l.length-1,n.location,null,null),location:n.location}},pointOnCurve:c,pointAlongCurveFrom:function(m,l,n){return b(m,l,n).point},perpendicularToCurveAt:function(m,l,n,o){l=b(m,l,o==null?0:o);m=i(m,l.location);o=Math.atan(-1/m);m=n/2*Math.sin(o);n=n/2*Math.cos(o);return[{x:l.point.x+n,y:l.point.y+m},{x:l.point.x-n,y:l.point.y-m}]},locationAlongCurveFrom:function(m,l,n){return b(m,l,n).location}}})(); \ No newline at end of file diff --git a/v3/js/jquery.jsPlumb-1.3.15-all-min.js b/v3/js/jquery.jsPlumb-1.3.15-all-min.js new file mode 100644 index 000000000..3abdf47c9 --- /dev/null +++ b/v3/js/jquery.jsPlumb-1.3.15-all-min.js @@ -0,0 +1 @@ +jsPlumbUtil={isArray:function(b){return Object.prototype.toString.call(b)==="[object Array]"},isString:function(a){return typeof a==="string"},isBoolean:function(a){return typeof a==="boolean"},isObject:function(a){return Object.prototype.toString.call(a)==="[object Object]"},isDate:function(a){return Object.prototype.toString.call(a)==="[object Date]"},isFunction:function(a){return Object.prototype.toString.call(a)==="[object Function]"},clone:function(d){if(this.isString(d)){return new String(d)}else{if(this.isBoolean(d)){return new Boolean(d)}else{if(this.isDate(d)){return new Date(d.getTime())}else{if(this.isFunction(d)){return d}else{if(this.isArray(d)){var c=[];for(var e=0;eb[0]){return(a[1]>b[1])?2:1}else{return(a[1]>b[1])?3:4}},intersects:function(f,e){var c=f.x,a=f.x+f.w,k=f.y,h=f.y+f.h,d=e.x,b=e.x+e.w,i=e.y,g=e.y+e.h;return((c<=d&&d<=a)&&(k<=i&&i<=h))||((c<=b&&b<=a)&&(k<=i&&i<=h))||((c<=d&&d<=a)&&(k<=g&&g<=h))||((c<=b&&d<=a)&&(k<=g&&g<=h))||((d<=c&&c<=b)&&(i<=k&&k<=g))||((d<=a&&a<=b)&&(i<=k&&k<=g))||((d<=c&&c<=b)&&(i<=h&&h<=g))||((d<=a&&c<=b)&&(i<=h&&h<=g))},segmentMultipliers:[null,[1,-1],[1,1],[-1,1],[-1,-1]],inverseSegmentMultipliers:[null,[-1,-1],[-1,1],[1,1],[1,-1]],pointOnLine:function(a,e,b){var d=jsPlumbUtil.gradient(a,e),i=jsPlumbUtil.segment(a,e),h=b>0?jsPlumbUtil.segmentMultipliers[i]:jsPlumbUtil.inverseSegmentMultipliers[i],c=Math.atan(d),f=Math.abs(b*Math.sin(c))*h[1],g=Math.abs(b*Math.cos(c))*h[0];return{x:a.x+g,y:a.y+f}},perpendicularLineTo:function(c,d,e){var b=jsPlumbUtil.gradient(c,d),f=Math.atan(-1/b),g=e/2*Math.sin(f),a=e/2*Math.cos(f);return[{x:d.x+a,y:d.y+g},{x:d.x-a,y:d.y-g}]},findWithFunction:function(b,d){if(b){for(var c=0;c-1){c.splice(b,1)}return b!=-1},remove:function(b,c){var a=jsPlumbUtil.indexOf(b,c);if(a>-1){b.splice(a,1)}return a!=-1},addWithFunction:function(c,b,a){if(jsPlumbUtil.findWithFunction(c,a)==-1){c.push(b)}},addToList:function(d,b,c){var a=d[b];if(a==null){a=[],d[b]=a}a.push(c);return a},EventGenerator:function(){var c={},b=this;var a=["ready"];this.bind=function(d,e){jsPlumbUtil.addToList(c,d,e);return b};this.fire=function(g,h,d){if(c[g]){for(var f=0;f';var e=f.firstChild;e.style.behavior="url(#default#VML)";d.vml=e?typeof e.adj=="object":true;f.parentNode.removeChild(f)}return d.vml};var c=function(i){var h={},g=[],f={},e={};this.register=function(n){var m=jsPlumb.CurrentLibrary;n=m.getElementObject(n);var p=i.getId(n),l=m.getDOMElement(n),k=m.getOffset(n);if(!h[p]){h[p]=n;g.push(n);f[p]={}}var o=function(u,q){if(u){for(var r=0;r0){var s=m.getOffset(t);f[p][v]={id:v,offset:{left:s.left-k.left,top:s.top-k.top}}}o(u.childNodes[r])}}}};o(l)};this.endpointAdded=function(m){var r=jsPlumb.CurrentLibrary,u=document.body,k=i.getId(m),t=r.getDOMElement(m),l=t.parentNode,o=l==u;e[k]=e[k]?e[k]+1:1;while(l!=u){var q=i.getId(l,null,true);if(q&&h[q]){var w=-1,s=r.getElementObject(l),n=r.getOffset(s);if(f[q][k]==null){var v=jsPlumb.CurrentLibrary.getOffset(m);f[q][k]={id:k,offset:{left:v.left-n.left,top:v.top-n.top}}}break}l=l.parentNode}};this.endpointDeleted=function(l){if(e[l.elementId]){e[l.elementId]--;if(e[l.elementId]<=0){for(var k in f){delete f[k][l.elementId]}}}};this.getElementsForDraggable=function(k){return f[k]};this.reset=function(){h={};g=[];f={};e={}}};if(!window.console){window.console={time:function(){},timeEnd:function(){},group:function(){},groupEnd:function(){},log:function(){}}}window.jsPlumbAdapter={headless:false,appendToRoot:function(e){document.body.appendChild(e)},getRenderModes:function(){return["canvas","svg","vml"]},isRenderModeAvailable:function(e){return{canvas:b,svg:a,vml:d()}[e]},getDragManager:function(e){return new c(e)},setRenderMode:function(i){var h;if(i){i=i.toLowerCase();var f=this.isRenderModeAvailable("canvas"),e=this.isRenderModeAvailable("svg"),g=this.isRenderModeAvailable("vml");if(i==="svg"){if(e){h="svg"}else{if(f){h="canvas"}else{if(g){h="vml"}}}}else{if(i==="canvas"&&f){h="canvas"}else{if(g){h="vml"}}}}return h}}})();(function(){var g=jsPlumbUtil.findWithFunction,G=jsPlumbUtil.indexOf,A=jsPlumbUtil.removeWithFunction,k=jsPlumbUtil.remove,r=jsPlumbUtil.addWithFunction,i=jsPlumbUtil.addToList,l=jsPlumbUtil.isArray,z=jsPlumbUtil.isString,u=jsPlumbUtil.isObject;var v=null,c=function(H,I){return n.CurrentLibrary.getAttribute(C(H),I)},d=function(I,J,H){n.CurrentLibrary.setAttribute(C(I),J,H)},y=function(I,H){n.CurrentLibrary.addClass(C(I),H)},h=function(I,H){return n.CurrentLibrary.hasClass(C(I),H)},m=function(I,H){n.CurrentLibrary.removeClass(C(I),H)},C=function(H){return n.CurrentLibrary.getElementObject(H)},s=function(I,H){var K=n.CurrentLibrary.getOffset(C(I));if(H!=null){var J=H.getZoom();return{left:K.left/J,top:K.top/J}}else{return K}},a=function(H){return n.CurrentLibrary.getSize(C(H))},o=jsPlumbUtil.log,F=jsPlumbUtil.group,f=jsPlumbUtil.groupEnd,E=jsPlumbUtil.time,t=jsPlumbUtil.timeEnd,p=function(){return""+(new Date()).getTime()},B=function(aa){var U=this,ab=arguments,S=false,M=aa.parameters||{},K=U.idPrefix,X=K+(new Date()).getTime(),W=null,ac=null;U._jsPlumb=aa._jsPlumb;U.getId=function(){return X};U.tooltip=aa.tooltip;U.hoverClass=aa.hoverClass||U._jsPlumb.Defaults.HoverClass||n.Defaults.HoverClass;jsPlumbUtil.EventGenerator.apply(this);this.clone=function(){var ad=new Object();U.constructor.apply(ad,ab);return ad};this.getParameter=function(ad){return M[ad]},this.getParameters=function(){return M},this.setParameter=function(ad,ae){M[ad]=ae},this.setParameters=function(ad){M=ad},this.overlayPlacements=[];var L=aa.beforeDetach;this.isDetachAllowed=function(ad){var ae=U._jsPlumb.checkCondition("beforeDetach",ad);if(L){try{ae=L(ad)}catch(af){o("jsPlumb: beforeDetach callback failed",af)}}return ae};var O=aa.beforeDrop;this.isDropAllowed=function(ai,af,ag,ad,ae){var ah=U._jsPlumb.checkCondition("beforeDrop",{sourceId:ai,targetId:af,scope:ag,connection:ad,dropEndpoint:ae});if(O){try{ah=O({sourceId:ai,targetId:af,scope:ag,connection:ad,dropEndpoint:ae})}catch(aj){o("jsPlumb: beforeDrop callback failed",aj)}}return ah};var Y=function(){if(W&&ac){var ad={};n.extend(ad,W);n.extend(ad,ac);delete U.hoverPaintStyle;if(ad.gradient&&W.fillStyle){delete ad.gradient}ac=ad}};this.setPaintStyle=function(ad,ae){W=ad;U.paintStyleInUse=W;Y();if(!ae){U.repaint()}};this.getPaintStyle=function(){return W};this.setHoverPaintStyle=function(ad,ae){ac=ad;Y();if(!ae){U.repaint()}};this.getHoverPaintStyle=function(){return ac};this.setHover=function(ad,af,ae){if(!U._jsPlumb.currentlyDragging&&!U._jsPlumb.isHoverSuspended()){S=ad;if(U.hoverClass!=null&&U.canvas!=null){if(ad){J.addClass(U.canvas,U.hoverClass)}else{J.removeClass(U.canvas,U.hoverClass)}}if(ac!=null){U.paintStyleInUse=ad?ac:W;ae=ae||p();U.repaint({timestamp:ae,recalc:false})}if(U.getAttachedElements&&!af){Z(ad,p(),U)}}};this.isHover=function(){return S};var V=null;this.setZIndex=function(ad){V=ad};this.getZIndex=function(){return V};var J=n.CurrentLibrary,I=["click","dblclick","mouseenter","mouseout","mousemove","mousedown","mouseup","contextmenu"],T={mouseout:"mouseexit"},N=function(af,ag,ae){var ad=T[ae]||ae;J.bind(af,ae,function(ah){ag.fire(ad,ag,ah)})},R=function(af,ae){var ad=T[ae]||ae;J.unbind(af,ae)};this.attachListeners=function(ae,af){for(var ad=0;ad1){for(var ad=0;ad=0?S.overlays[T]:null};this.getOverlays=function(){return S.overlays};this.hideOverlay=function(U){var T=S.getOverlay(U);if(T){T.hide()}};this.hideOverlays=function(){for(var T=0;T0){try{for(var bA=0;bA0?G(bB,bA)!=-1:!bz};this.getConnections=function(bI,bA){if(!bI){bI={}}else{if(bI.constructor==String){bI={scope:bI}}}var bH=bI.scope||br.getDefaultScope(),bG=bv(bH,true),bz=bv(bI.source),bE=bv(bI.target),bD=(!bA&&bG.length>1)?{}:[],bJ=function(bL,bM){if(!bA&&bG.length>1){var bK=bD[bL];if(bK==null){bK=[];bD[bL]=bK}bK.push(bM)}else{bD.push(bM)}};for(var bC in a0){if(aI(bG,bC)){for(var bB=0;bB0&&!bL.isSource),bG=(bC&&bJ.length>0&&!bL.isTarget);if(bN||bG){continue inner}bP.push(bL)}}}}return bf(bP)};this.getAllConnections=function(){return a0};this.getDefaultScope=function(){return R};this.getEndpoint=ax;this.getEndpoints=function(bz){return aV[H(bz)]};this.getId=H;this.getOffset=function(bA){var bz=aj[bA];return X({elId:bA})};this.getSelector=function(bz){return n.CurrentLibrary.getSelector(bz)};this.getSize=function(bA){var bz=ag[bA];if(!bz){X({elId:bA})}return ag[bA]};this.appendElement=aX;var aU=false;this.isHoverSuspended=function(){return aU};this.setHoverSuspended=function(bz){aU=bz};var aY=function(bz){return function(){return jsPlumbAdapter.isRenderModeAvailable(bz)}};this.isCanvasAvailable=aY("canvas");this.isSVGAvailable=aY("svg");this.isVMLAvailable=aY("vml");this.hide=function(bz,bA){a7(bz,"none",bA)};this.idstamp=an;this.init=function(){if(!K){br.setRenderMode(br.Defaults.RenderMode);var bz=function(bA){n.CurrentLibrary.bind(document,bA,function(bG){if(!br.currentlyDragging&&Y==n.CANVAS){for(var bF in a0){var bH=a0[bF];for(var bD=0;bD=4)?[bE[2],bE[3]]:[0,0],offsets:(bE.length==6)?[bE[4],bE[5]]:[0,0],elementId:bB};bC=new ab(bD);bC.clone=function(){return new ab(bD)}}}}}if(!bC.id){bC.id="anchor_"+an()}return bC};this.makeAnchors=function(bC,bA,bz){var bD=[];for(var bB=0;bB0&&bT>=at[bM]){if(bz){bz({element:bO,connection:bY},bR)}return false}bQ.anchor.locked=false;if(b1){bH.setDragScope(b3,b1)}var bW=proxyComponent.isDropAllowed(bY.sourceId,H(bO),bY.scope,bY,null);if(bY.endpointsToDeleteOnDetach){if(bQ===bY.endpointsToDeleteOnDetach[0]){bY.endpointsToDeleteOnDetach[0]=null}else{if(bQ===bY.endpointsToDeleteOnDetach[1]){bY.endpointsToDeleteOnDetach[1]=null}}}if(bY.suspendedEndpoint){bY.targetId=bY.suspendedEndpoint.elementId;bY.target=bH.getElementObject(bY.suspendedEndpoint.elementId);bY.endpoints[1]=bY.suspendedEndpoint}if(bW){bQ.detach(bY,false,true,false);var b2=aK[bM]||br.addEndpoint(bO,bA);if(bA.uniqueEndpoint){aK[bM]=b2}b2._makeTargetCreator=true;if(b2.anchor.positionFinder!=null){var bZ=bH.getUIPosition(arguments,br.getZoom()),bV=s(bO,br),b0=a(bO),bU=b2.anchor.positionFinder(bZ,bV,b0,b2.anchor.constructorParams);b2.anchor.x=bU[0];b2.anchor.y=bU[1]}var bX=br.connect({source:bQ,target:b2,scope:b1,previousConnection:bY,container:bY.parent,deleteEndpointsOnDetach:bE,doNotFireConnectionEvent:bQ.endpointWillMoveAfterConnection});if(bY.endpoints[1]._makeTargetCreator&&bY.endpoints[1].connections.length<2){br.deleteEndpoint(bY.endpoints[1])}if(bE){bX.endpointsToDeleteOnDetach=[bQ,b2]}bX.repaint()}else{if(bY.suspendedEndpoint){if(bY.isReattach()){bY.setHover(false);bY.floatingAnchorIndex=null;bY.suspendedEndpoint.addConnection(bY);br.repaint(bQ.elementId)}else{bQ.detach(bY,false,true,true,bR)}}}};var bN=bH.dragEvents.drop;bL.scope=bL.scope||bI;bL[bN]=ap(bL[bN],bK);bH.initDroppable(bO,bL,true)};bC=aL(bC);var bG=bC.length&&bC.constructor!=String?bC:[bC];for(var bF=0;bF=0&&bX>=N[bJ]){if(bA){bA({element:bQ,maxConnections:bC},bZ)}return false}if(bE.filter){var bV=bE.filter(bH.getOriginalEvent(bZ),bQ);if(bV===false){return}}var b3=X({elId:bK});var b2=((bZ.pageX||bZ.page.x)-b3.left)/b3.width,b1=((bZ.pageY||bZ.page.y)-b3.top)/b3.height,b7=b2,b6=b1;if(bB.parent){var b0=bH.getElementObject(bB.parent),bY=H(b0);b3=X({elId:bY});b7=((bZ.pageX||bZ.page.x)-b3.left)/b3.width,b6=((bZ.pageY||bZ.page.y)-b3.top)/b3.height}var b5={};n.extend(b5,bB);b5.isSource=true;b5.anchor=[b2,b1,0,0];b5.parentAnchor=[b7,b6,0,0];b5.dragOptions=bS;if(bB.parent){var bW=b5.container||br.Defaults.Container||n.Defaults.Container;if(bW){b5.container=bW}else{b5.container=n.CurrentLibrary.getParent(bB.parent)}}bU=br.addEndpoint(bK,b5);bO=true;bU.endpointWillMoveAfterConnection=bB.parent!=null;bU.endpointWillMoveTo=bB.parent?bH.getElementObject(bB.parent):null;var b4=function(){if(bO){br.deleteEndpoint(bU)}};br.registerListener(bU.canvas,"mouseup",b4);br.registerListener(bQ,"mouseup",b4);bH.trigger(bU.canvas,"mousedown",bZ)};br.registerListener(bQ,"mousedown",bM);J[bK]=bM};bD=aL(bD);var bG=bD.length&&bD.constructor!=String?bD:[bD];for(var bF=0;bF0?bJ[0]:null,bE=bJ.length>0?0:-1,bI=this,bD=function(bM,bK,bQ,bP,bL){var bO=bP[0]+(bM.x*bL[0]),bN=bP[1]+(bM.y*bL[1]);return Math.sqrt(Math.pow(bK-bO,2)+Math.pow(bQ-bN,2))},bz=bA||function(bU,bL,bM,bN,bK){var bP=bM[0]+(bN[0]/2),bO=bM[1]+(bN[1]/2);var bR=-1,bT=Infinity;for(var bQ=0;bQ=bC.left)||(bF.left<=bC.right&&bF.right>=bC.right)||(bF.left<=bC.left&&bF.right>=bC.right)||(bC.left<=bF.left&&bC.right>=bF.right)),bK=((bF.top<=bC.top&&bF.bottom>=bC.top)||(bF.top<=bC.bottom&&bF.bottom>=bC.bottom)||(bF.top<=bC.top&&bF.bottom>=bC.bottom)||(bC.top<=bF.top&&bC.bottom>=bF.bottom));if(!(bE||bK)){var bH=null,bB=false,bz=false,bG=null;if(bC.left>bF.left&&bC.top>bF.top){bH=["right","top"]}else{if(bC.left>bF.left&&bF.top>bC.top){bH=["top","left"]}else{if(bC.leftbF.top){bH=["left","top"]}}}}return{orientation:U.DIAGONAL,a:bH,theta:bA,theta2:bD}}else{if(bE){return{orientation:U.HORIZONTAL,a:bF.topbz[0]?1:-1},aa=function(bz){return function(bB,bA){var bC=true;if(bz){if(bB[0][0]bA[0][1]}}else{if(bB[0][0]>bA[0][0]){bC=true}else{bC=bB[0][1]>bA[0][1]}}return bC===false?-1:1}},M=function(bA,bz){var bC=bA[0][0]<0?-Math.PI-bA[0][0]:Math.PI-bA[0][0],bB=bz[0][0]<0?-Math.PI-bz[0][0]:Math.PI-bz[0][0];if(bC>bB){return 1}else{return bA[0][1]>bz[0][1]?1:-1}},a2={top:bb,right:aa(true),bottom:aa(true),left:M},ar=function(bz,bA){return bz.sort(bA)},ao=function(bA,bz){var bC=ag[bA],bD=aj[bA],bB=function(bK,bR,bG,bJ,bP,bO,bF){if(bJ.length>0){var bN=ar(bJ,a2[bK]),bL=bK==="right"||bK==="top",bE=a5(bK,bR,bG,bN,bP,bO,bL);var bS=function(bV,bU){var bT=bs([bU[0],bU[1]],bV.canvas);ak[bV.id]=[bT[0],bT[1],bU[2],bU[3]];aM[bV.id]=bF};for(var bH=0;bH0){bS.connections[0].setHover(b7,false)}else{bS.setHover(b7)}};D(bS.endpoint,bS,b6);this.setPaintStyle(b5.paintStyle||b5.style||br.Defaults.EndpointStyle||n.Defaults.EndpointStyle,true);this.setHoverPaintStyle(b5.hoverPaintStyle||br.Defaults.EndpointHoverStyle||n.Defaults.EndpointHoverStyle,true);this.paintStyleInUse=this.getPaintStyle();var bN=this.getPaintStyle();this.connectorStyle=b5.connectorStyle;this.connectorHoverStyle=b5.connectorHoverStyle;this.connectorOverlays=b5.connectorOverlays;this.connector=b5.connector;this.connectorTooltip=b5.connectorTooltip;this.connectorClass=b5.connectorClass;this.connectorHoverClass=b5.connectorHoverClass;this.isSource=b5.isSource||false;this.isTarget=b5.isTarget||false;var bY=b5.maxConnections||br.Defaults.MaxConnections;this.getAttachedElements=function(){return bS.connections};this.canvas=this.endpoint.canvas;this.connections=b5.connections||[];this.scope=b5.scope||R;this.connectionType=b5.connectionType;this.timestamp=null;bS.reattachConnections=b5.reattach||br.Defaults.ReattachConnections;bS.connectionsDetachable=br.Defaults.ConnectionsDetachable;if(b5.connectionsDetachable===false||b5.detachable===false){bS.connectionsDetachable=false}var bM=b5.dragAllowedWhenFull||true;if(b5.onMaxConnections){bS.bind("maxConnections",b5.onMaxConnections)}this.computeAnchor=function(b7){return bS.anchor.compute(b7)};this.addConnection=function(b7){bS.connections.push(b7)};this.detach=function(b8,cd,b9,cg,b7){var cf=g(bS.connections,function(ci){return ci.id==b8.id}),ce=false;cg=(cg!==false);if(cf>=0){if(b9||b8._forceDetach||b8.isDetachable()||b8.isDetachAllowed(b8)){var ch=b8.endpoints[0]==bS?b8.endpoints[1]:b8.endpoints[0];if(b9||b8._forceDetach||(bS.isDetachAllowed(b8))){bS.connections.splice(cf,1);if(!cd){ch.detach(b8,true,b9);if(b8.endpointsToDeleteOnDetach){for(var cc=0;cc0){bS.detach(bS.connections[0],false,true,b8,b7)}};this.detachFrom=function(ca,b9,b7){var cb=[];for(var b8=0;b8=0){bS.connections.splice(b7,1)}};this.getElement=function(){return bR};this.setElement=function(ca,b7){var cc=H(ca);A(aV[bS.elementId],function(cd){return cd.id==bS.id});bR=C(ca);bJ=H(bR);bS.elementId=bJ;var cb=ay({source:cc,container:b7}),b9=bD.getParent(bS.canvas);bD.removeElement(bS.canvas,b9);bD.appendElement(bS.canvas,cb);for(var b8=0;b80){var cj=bO(ca.elementWithPrecedence),cl=cj.endpoints[0]==bS?1:0,cc=cl==0?cj.sourceId:cj.targetId,ci=aj[cc],ck=ag[cc];b9.txy=[ci.left,ci.top];b9.twh=ck;b9.tElement=cj.endpoints[cl]}cd=bS.anchor.compute(b9)}var ch=bP.compute(cd,bS.anchor.getOrientation(bS),bS.paintStyleInUse,cb||bS.paintStyleInUse);bP.paint(ch,bS.paintStyleInUse,bS.anchor);bS.timestamp=cg;for(var ce=0;ce0?u:n+u:u*n;return jsPlumbUtil.pointOnLine({x:i,y:h},{x:e,y:d},t)}}};this.gradientAtPoint=function(t){return f};this.pointAlongPathFrom=function(t,x,w){var v=s.pointOnPath(t,w),u=t==1?{x:i+((e-i)*10),y:h+((h-d)*10)}:{x:e,y:d};return jsPlumbUtil.pointOnLine(v,u,x)}};jsPlumb.Connectors.Bezier=function(w){var q=this;w=w||{};this.majorAnchor=w.curviness||150;this.minorAnchor=10;var u=null;this.type="Bezier";this._findControlPoint=function(I,x,D,y,B,G,z){var F=G.getOrientation(y),H=z.getOrientation(B),C=F[0]!=H[0]||F[1]==H[1],A=[],J=q.majorAnchor,E=q.minorAnchor;if(!C){if(F[0]==0){A.push(x[0]v){v=D}if(G<0){t+=G;var I=Math.abs(G);v+=I;r[0]+=I;g+=I;p+=I;m[0]+=I}var Q=Math.min(f,o),O=Math.min(r[1],m[1]),C=Math.min(Q,O),H=Math.max(f,o),F=Math.max(r[1],m[1]),z=Math.max(H,F);if(z>e){e=z}if(C<0){s+=C;var E=Math.abs(C);e+=E;r[1]+=E;f+=E;o+=E;m[1]+=E}if(M&&v0?0:1,x)}return x};this.pointOnPath=function(x,z){var y=d();x=n(y,x,z);return jsBezier.pointOnCurve(y,x)};this.gradientAtPoint=function(x,z){var y=d();x=n(y,x,z);return jsBezier.gradientAtPoint(y,x)};this.pointAlongPathFrom=function(x,A,z){var y=d();x=n(y,x,z);return jsBezier.pointAlongCurveFrom(y,x,A)}};jsPlumb.Connectors.Flowchart=function(z){this.type="Flowchart";z=z||{};var r=this,e=z.stub||z.minStubLength||30,i=jsPlumbUtil.isArray(e)?e[0]:e,o=jsPlumbUtil.isArray(e)?e[1]:e,t=z.gap||0,u=[],m=0,g=[],q=[],v=[],s,p,y=-Infinity,w=-Infinity,A=Infinity,x=Infinity,d=z.grid,f=function(G,C){var F=G%C,D=Math.floor(G/C),E=F>(C/2)?1:0;return(D+E)*C},n=function(C,F,E,D){return[E||d==null?C:f(C,d[0]),D||d==null?F:f(F,d[1])]},B=function(D,C,H,G){var F=0;for(var E=0;E0?E/m:(m+E)/m}var C=g.length-1,D=1;for(var F=0;F=E){C=F;D=(E-g[F][0])/q[F];break}}return{segment:u[C],proportion:D,index:C}};this.compute=function(Z,an,C,T,ay,N,X,S,at,ap){u=[];g=[];m=0;q=[];y=w=-Infinity;A=x=Infinity;r.lineWidth=X;s=an[0]ax?0:1,ah=[1,0][af];Q=[];az=[];Q[af]=Z[af]>an[af]?-1:1;az[af]=Z[af]>an[af]?1:-1;Q[ah]=0;az[ah]=0}var L=s?(ao-E)+(t*Q[0]):H+(t*Q[0]),K=p?(ax-D)+(t*Q[1]):G+(t*Q[1]),av=s?H+(t*az[0]):(ao-E)+(t*az[0]),au=p?G+(t*az[1]):(ax-D)+(t*az[1]),ac=L+(Q[0]*i),ab=K+(Q[1]*i),O=av+(az[0]*o),M=au+(az[1]*o),Y=Math.abs(L-av)>(i+o),aa=Math.abs(K-au)>(i+o),ak=ac+((O-ac)/2),ai=ab+((M-ab)/2),R=((Q[0]*az[0])+(Q[1]*az[1])),ae=R==-1,ag=R==0,F=R==1;am-=H;al-=G;v=[am,al,ao,ax,L,K,av,au];var ar=[];var V=Q[0]==0?"y":"x",P=ae?"opposite":F?"orthogonal":"perpendicular",I=jsPlumbUtil.segment([L,K],[av,au]),aj=Q[V=="x"?0:1]==-1,U={x:[null,4,3,2,1],y:[null,2,1,4,3]};if(aj){I=U[V][I]}k(ac,ab,L,K,av,au);var W=function(aD,aC,aA,aB){return aD+(aC*((1-aA)*aB)+Math.max(i,o))},J={oppositex:function(){if(C.elementId==T.elementId){var aA=ab+((1-ay.y)*at.height)+Math.max(i,o);return[[ac,aA],[O,aA]]}else{if(Y&&(I==1||I==2)){return[[ak,K],[ak,au]]}else{return[[ac,ai],[O,ai]]}}},orthogonalx:function(){if(I==1||I==2){return[[O,ab]]}else{return[[ac,M]]}},perpendicularx:function(){var aA=(au+K)/2;if((I==1&&az[1]==1)||(I==2&&az[1]==-1)){if(Math.abs(av-L)>Math.max(i,o)){return[[O,ab]]}else{return[[ac,ab],[ac,aA],[O,aA]]}}else{if((I==3&&az[1]==-1)||(I==4&&az[1]==1)){return[[ac,aA],[O,aA]]}else{if((I==3&&az[1]==1)||(I==4&&az[1]==-1)){return[[ac,M]]}else{if((I==1&&az[1]==-1)||(I==2&&az[1]==1)){if(Math.abs(av-L)>Math.max(i,o)){return[[ak,ab],[ak,M]]}else{return[[ac,M]]}}}}}},oppositey:function(){if(C.elementId==T.elementId){var aA=ac+((1-ay.x)*at.width)+Math.max(i,o);return[[aA,ab],[aA,M]]}else{if(aa&&(I==2||I==3)){return[[L,ai],[av,ai]]}else{return[[ak,ab],[ak,M]]}}},orthogonaly:function(){if(I==2||I==3){return[[ac,M]]}else{return[[O,ab]]}},perpendiculary:function(){var aA=(av+L)/2;if((I==2&&az[0]==-1)||(I==3&&az[0]==1)){if(Math.abs(av-L)>Math.max(i,o)){return[[ac,M]]}else{return[[ac,ai],[O,ai]]}}else{if((I==1&&az[0]==-1)||(I==4&&az[0]==1)){var aA=(av+L)/2;return[[aA,ab],[aA,M]]}else{if((I==1&&az[0]==1)||(I==4&&az[0]==-1)){return[[O,ab]]}else{if((I==2&&az[0]==1)||(I==3&&az[0]==-1)){if(Math.abs(au-K)>Math.max(i,o)){return[[ac,ai],[O,ai]]}else{return[[O,ab]]}}}}}}};var aq=J[P+V]();if(aq){for(var aw=0;awv[3]){v[3]=w+(X*2)}if(y>v[2]){v[2]=y+(X*2)}return v};this.pointOnPath=function(C,D){return r.pointAlongPathFrom(C,0,D)};this.gradientAtPoint=function(C,D){return u[h(C,D)["index"]][4]};this.pointAlongPathFrom=function(J,C,I){var K=h(J,I),G=K.segment,D=K.proportion,F=u[K.index][5],E=u[K.index][4];var H={x:E==Infinity?G[2]:G[2]>G[0]?G[0]+((1-D)*F)-C:G[2]+(D*F)+C,y:E==0?G[3]:G[3]>G[1]?G[1]+((1-D)*F)-C:G[3]+(D*F)+C,segmentInfo:K};return H}};jsPlumb.Endpoints.Dot=function(e){this.type="Dot";var d=this;e=e||{};this.radius=e.radius||10;this.defaultOffset=0.5*this.radius;this.defaultInnerRadius=this.radius/3;this.compute=function(k,g,m,i){var h=m.radius||d.radius,f=k[0]-h,l=k[1]-h;return[f,l,h*2,h*2,h]}};jsPlumb.Endpoints.Rectangle=function(e){this.type="Rectangle";var d=this;e=e||{};this.width=e.width||20;this.height=e.height||20;this.compute=function(l,h,n,k){var i=n.width||d.width,g=n.height||d.height,f=l[0]-(i/2),m=l[1]-(g/2);return[f,m,i,g]}};var b=function(f){jsPlumb.DOMElementComponent.apply(this,arguments);var d=this;var e=[];this.getDisplayElements=function(){return e};this.appendDisplayElement=function(g){e.push(g)}};jsPlumb.Endpoints.Image=function(i){this.type="Image";b.apply(this,arguments);var n=this,h=false,g=false,f=i.width,e=i.height,l=null,d=i.endpoint;this.img=new Image();n.ready=false;this.img.onload=function(){n.ready=true;f=f||n.img.width;e=e||n.img.height;if(l){l(n)}};d.setImage=function(o,q){var p=o.constructor==String?o:o.src;l=q;n.img.src=o;if(n.canvas!=null){n.canvas.setAttribute("src",o)}};d.setImage(i.src||i.url,i.onload);this.compute=function(q,o,r,p){n.anchorPoint=q;if(n.ready){return[q[0]-f/2,q[1]-e/2,f,e]}else{return[0,0,0,0]}};n.canvas=document.createElement("img"),h=false;n.canvas.style.margin=0;n.canvas.style.padding=0;n.canvas.style.outline=0;n.canvas.style.position="absolute";var k=i.cssClass?" "+i.cssClass:"";n.canvas.className=jsPlumb.endpointClass+k;if(f){n.canvas.setAttribute("width",f)}if(e){n.canvas.setAttribute("height",e)}jsPlumb.appendElement(n.canvas,i.parent);n.attachListeners(n.canvas,n);n.cleanup=function(){g=true};var m=function(r,q,p){if(!g){if(!h){n.canvas.setAttribute("src",n.img.src);n.appendDisplayElement(n.canvas);h=true}var o=n.anchorPoint[0]-(f/2),s=n.anchorPoint[1]-(e/2);jsPlumb.sizeCanvas(n.canvas,o,s,f,e)}};this.paint=function(q,p,o){if(n.ready){m(q,p,o)}else{window.setTimeout(function(){n.paint(q,p,o)},200)}}};jsPlumb.Endpoints.Blank=function(e){var d=this;this.type="Blank";b.apply(this,arguments);this.compute=function(h,f,i,g){return[h[0],h[1],10,0]};d.canvas=document.createElement("div");d.canvas.style.display="block";d.canvas.style.width="1px";d.canvas.style.height="1px";d.canvas.style.background="transparent";d.canvas.style.position="absolute";d.canvas.className=d._jsPlumb.endpointClass;jsPlumb.appendElement(d.canvas,e.parent);this.paint=function(h,g,f){jsPlumb.sizeCanvas(d.canvas,h[0],h[1],h[2],h[3])}};jsPlumb.Endpoints.Triangle=function(d){this.type="Triangle";d=d||{};d.width=d.width||55;d.height=d.height||55;this.width=d.width;this.height=d.height;this.compute=function(k,g,m,i){var h=m.width||self.width,f=m.height||self.height,e=k[0]-(h/2),l=k[1]-(f/2);return[e,l,h,f]}};var c=function(f){var e=true,d=this;this.isAppendedAtTopLevel=true;this.component=f.component;this.loc=f.location==null?0.5:f.location;this.endpointLoc=f.endpointLocation==null?[0.5,0.5]:f.endpointLocation;this.setVisible=function(g){e=g;d.component.repaint()};this.isVisible=function(){return e};this.hide=function(){d.setVisible(false)};this.show=function(){d.setVisible(true)};this.incrementLocation=function(g){d.loc+=g;d.component.repaint()};this.setLocation=function(g){d.loc=g;d.component.repaint()};this.getLocation=function(){return d.loc}};jsPlumb.Overlays.Arrow=function(h){this.type="Arrow";c.apply(this,arguments);this.isAppendedAtTopLevel=false;h=h||{};var e=this;this.length=h.length||20;this.width=h.width||20;this.id=h.id;var g=(h.direction||1)<0?-1:1,f=h.paintStyle||{lineWidth:1},d=h.foldback||0.623;this.computeMaxSize=function(){return e.width*1.5};this.cleanup=function(){};this.draw=function(m,A,v){var p,w,i,q,o;if(m.pointAlongPathFrom){if(jsPlumbUtil.isString(e.loc)||e.loc>1||e.loc<0){var k=parseInt(e.loc);p=m.pointAlongPathFrom(k,g*e.length/2,true),w=m.pointOnPath(k,true),i=jsPlumbUtil.pointOnLine(p,w,e.length)}else{if(e.loc==1){p=m.pointOnPath(e.loc);w=m.pointAlongPathFrom(e.loc,-1);i=jsPlumbUtil.pointOnLine(p,w,e.length)}else{if(e.loc==0){i=m.pointOnPath(e.loc);w=m.pointAlongPathFrom(e.loc,1);p=jsPlumbUtil.pointOnLine(i,w,e.length)}else{p=m.pointAlongPathFrom(e.loc,g*e.length/2),w=m.pointOnPath(e.loc),i=jsPlumbUtil.pointOnLine(p,w,e.length)}}}q=jsPlumbUtil.perpendicularLineTo(p,i,e.width);o=jsPlumbUtil.pointOnLine(p,i,d*e.length);var z=Math.min(p.x,q[0].x,q[1].x),t=Math.max(p.x,q[0].x,q[1].x),y=Math.min(p.y,q[0].y,q[1].y),s=Math.max(p.y,q[0].y,q[1].y);var r={hxy:p,tail:q,cxy:o},u=f.strokeStyle||A.strokeStyle,x=f.fillStyle||A.strokeStyle,n=f.lineWidth||A.lineWidth;e.paint(m,r,n,u,x,v);return[z,t,y,s]}else{return[0,0,0,0]}}};jsPlumb.Overlays.PlainArrow=function(e){e=e||{};var d=jsPlumb.extend(e,{foldback:1});jsPlumb.Overlays.Arrow.call(this,d);this.type="PlainArrow"};jsPlumb.Overlays.Diamond=function(f){f=f||{};var d=f.length||40,e=jsPlumb.extend(f,{length:d/2,foldback:2});jsPlumb.Overlays.Arrow.call(this,e);this.type="Diamond"};var a=function(i){jsPlumb.DOMElementComponent.apply(this,arguments);c.apply(this,arguments);var d=this,e=false;i=i||{};this.id=i.id;var l;var h=function(){l=i.create(i.component);l=jsPlumb.CurrentLibrary.getDOMElement(l);l.style.position="absolute";var m=i._jsPlumb.overlayClass+" "+(d.cssClass?d.cssClass:i.cssClass?i.cssClass:"");l.className=m;jsPlumb.appendElement(l,i.component.parent);i._jsPlumb.getId(l);d.attachListeners(l,d);d.canvas=l};this.getElement=function(){if(l==null){h()}return l};this.getDimensions=function(){return jsPlumb.CurrentLibrary.getSize(jsPlumb.CurrentLibrary.getElementObject(d.getElement()))};var f=null,k=function(m){if(f==null){f=d.getDimensions()}return f};this.clearCachedDimensions=function(){f=null};this.computeMaxSize=function(){var m=k();return Math.max(m[0],m[1])};var g=d.setVisible;d.setVisible=function(m){g(m);l.style.display=m?"block":"none"};this.cleanup=function(){if(l!=null){jsPlumb.CurrentLibrary.removeElement(l)}};this.paint=function(m,o,n){if(!e){d.getElement();m.appendDisplayElement(l);d.attachListeners(l,m);e=true}l.style.left=(n[0]+o.minx)+"px";l.style.top=(n[1]+o.miny)+"px"};this.draw=function(n,o,p){var t=k();if(t!=null&&t.length==2){var q={x:0,y:0};if(n.pointOnPath){var r=d.loc,s=false;if(jsPlumbUtil.isString(d.loc)||d.loc<0||d.loc>1){r=parseInt(d.loc);s=true}q=n.pointOnPath(r,s)}else{var m=d.loc.constructor==Array?d.loc:d.endpointLoc;q={x:m[0]*p[2],y:m[1]*p[3]}}minx=q.x-(t[0]/2),miny=q.y-(t[1]/2);d.paint(n,{minx:minx,miny:miny,td:t,cxy:q},p);return[minx,minx+t[0],miny,miny+t[1]]}else{return[0,0,0,0]}};this.reattachListeners=function(m){if(l){d.reattachListenersForElement(l,d,m)}}};jsPlumb.Overlays.Custom=function(d){this.type="Custom";a.apply(this,arguments)};jsPlumb.Overlays.Label=function(h){var d=this;this.labelStyle=h.labelStyle||jsPlumb.Defaults.LabelStyle;this.cssClass=this.labelStyle!=null?this.labelStyle.cssClass:null;h.create=function(){return document.createElement("div")};jsPlumb.Overlays.Custom.apply(this,arguments);this.type="Label";var f=h.label||"",d=this,g=null;this.setLabel=function(k){f=k;g=null;d.clearCachedDimensions();e();d.component.repaint()};var e=function(){if(typeof f=="function"){var k=f(d);d.getElement().innerHTML=k.replace(/\r\n/g,"
")}else{if(g==null){g=f;d.getElement().innerHTML=g.replace(/\r\n/g,"
")}}};this.getLabel=function(){return f};var i=this.getDimensions;this.getDimensions=function(){e();return i()}}})();(function(){var c=function(e,g,d,f){this.m=(f-g)/(d-e);this.b=-1*((this.m*e)-g);this.rectIntersect=function(q,p,s,o){var n=[];var k=(p-this.b)/this.m;if(k>=q&&k<=(q+s)){n.push([k,(this.m*k)+this.b])}var t=(this.m*(q+s))+this.b;if(t>=p&&t<=(p+o)){n.push([(t-this.b)/this.m,t])}var k=((p+o)-this.b)/this.m;if(k>=q&&k<=(q+s)){n.push([k,(this.m*k)+this.b])}var t=(this.m*q)+this.b;if(t>=p&&t<=(p+o)){n.push([(t-this.b)/this.m,t])}if(n.length==2){var m=(n[0][0]+n[1][0])/2,l=(n[0][1]+n[1][1])/2;n.push([m,l]);var i=m<=q+(s/2)?-1:1,r=l<=p+(o/2)?-1:1;n.push([i,r]);return n}return null}},a=function(e,g,d,f){if(e<=d&&f<=g){return 1}else{if(e<=d&&g<=f){return 2}else{if(d<=e&&f>=g){return 3}}}return 4},b=function(g,f,i,e,h,m,l,d,k){if(d<=k){return[g,f]}if(i==1){if(e[3]<=0&&h[3]>=1){return[g+(e[2]<0.5?-1*m:m),f]}else{if(e[2]>=1&&h[2]<=0){return[g,f+(e[3]<0.5?-1*l:l)]}else{return[g+(-1*m),f+(-1*l)]}}}else{if(i==2){if(e[3]>=1&&h[3]<=0){return[g+(e[2]<0.5?-1*m:m),f]}else{if(e[2]>=1&&h[2]<=0){return[g,f+(e[3]<0.5?-1*l:l)]}else{return[g+(1*m),f+(-1*l)]}}}else{if(i==3){if(e[3]>=1&&h[3]<=0){return[g+(e[2]<0.5?-1*m:m),f]}else{if(e[2]<=0&&h[2]>=1){return[g,f+(e[3]<0.5?-1*l:l)]}else{return[g+(-1*m),f+(-1*l)]}}}else{if(i==4){if(e[3]<=0&&h[3]>=1){return[g+(e[2]<0.5?-1*m:m),f]}else{if(e[2]<=0&&h[2]>=1){return[g,f+(e[3]<0.5?-1*l:l)]}else{return[g+(1*m),f+(-1*l)]}}}}}}};jsPlumb.Connectors.StateMachine=function(l){var u=this,n=null,o,m,g,e,p=[],d=l.curviness||10,k=l.margin||5,q=l.proximityLimit||80,f=l.orientation&&l.orientation=="clockwise",i=l.loopbackRadius||25,h=false,t=l.showLoopback!==false;this.type="StateMachine";l=l||{};this.compute=function(ad,H,W,I,ac,z,v,U){var Q=Math.abs(ad[0]-H[0]),Y=Math.abs(ad[1]-H[1]),S=0.45*Q,ab=0.45*Y;Q*=1.9;Y*=1.9;v=v||1;var O=Math.min(ad[0],H[0])-S,M=Math.min(ad[1],H[1])-ab;if(!t||(W.elementId!=I.elementId)){h=false;o=ad[0]0?0:1,v)}return v};this.pointOnPath=function(x,B){if(h){if(B){var y=Math.PI*2*i;x=x/y}if(x>0&&x<1){x=1-x}var z=(x*2*Math.PI)+(Math.PI/2),w=n[4]+(n[6]*Math.cos(z)),v=n[5]+(n[6]*Math.sin(z));return{x:w,y:v}}else{var A=r();x=s(A,x,B);return jsBezier.pointOnCurve(A,x)}};this.gradientAtPoint=function(v,y){if(h){if(y){var w=Math.PI*2*i;v=v/w}return Math.atan(v*2*Math.PI)}else{var x=r();v=s(x,v,y);return jsBezier.gradientAtPoint(x,v)}};this.pointAlongPathFrom=function(D,v,C){if(h){if(C){var B=Math.PI*2*i;D=D/B}if(D>0&&D<1){D=1-D}var B=2*Math.PI*n[6],w=v/B*2*Math.PI,z=(D*2*Math.PI)-w+(Math.PI/2),y=n[4]+(n[6]*Math.cos(z)),x=n[5]+(n[6]*Math.sin(z));return{x:y,y:x}}else{var A=r();D=s(A,D,C);return jsBezier.pointAlongCurveFrom(A,D,v)}}};jsPlumb.Connectors.canvas.StateMachine=function(f){f=f||{};var d=this,g=f.drawGuideline||true,e=f.avoidSelector;jsPlumb.Connectors.StateMachine.apply(this,arguments);jsPlumb.CanvasConnector.apply(this,arguments);this._paint=function(l){if(l.length==10){d.ctx.beginPath();d.ctx.moveTo(l[4],l[5]);d.ctx.bezierCurveTo(l[8],l[9],l[8],l[9],l[6],l[7]);d.ctx.stroke()}else{d.ctx.save();d.ctx.beginPath();var k=0,i=2*Math.PI,h=l[7];d.ctx.arc(l[4],l[5],l[6],0,i,h);d.ctx.stroke();d.ctx.closePath();d.ctx.restore()}};this.createGradient=function(i,h){return h.createLinearGradient(i[4],i[5],i[6],i[7])}};jsPlumb.Connectors.svg.StateMachine=function(){var d=this;jsPlumb.Connectors.StateMachine.apply(this,arguments);jsPlumb.SvgConnector.apply(this,arguments);this.getPath=function(e){if(e.length==10){return"M "+e[4]+" "+e[5]+" C "+e[8]+" "+e[9]+" "+e[8]+" "+e[9]+" "+e[6]+" "+e[7]}else{return"M"+(e[8]+4)+" "+e[9]+" A "+e[6]+" "+e[6]+" 0 1,0 "+(e[8]-4)+" "+e[9]}}};jsPlumb.Connectors.vml.StateMachine=function(){jsPlumb.Connectors.StateMachine.apply(this,arguments);jsPlumb.VmlConnector.apply(this,arguments);var d=jsPlumb.vml.convertValue;this.getPath=function(k){if(k.length==10){return"m"+d(k[4])+","+d(k[5])+" c"+d(k[8])+","+d(k[9])+","+d(k[8])+","+d(k[9])+","+d(k[6])+","+d(k[7])+" e"}else{var h=d(k[8]-k[6]),g=d(k[9]-(2*k[6])),f=h+d(2*k[6]),e=g+d(2*k[6]),l=h+","+g+","+f+","+e;var i="ar "+l+","+d(k[8])+","+d(k[9])+","+d(k[8])+","+d(k[9])+" e";return i}}}})();(function(){var h={"stroke-linejoin":"joinstyle",joinstyle:"joinstyle",endcap:"endcap",miterlimit:"miterlimit"},c=null;if(document.createStyleSheet&&document.namespaces){var m=[".jsplumb_vml","jsplumb\\:textbox","jsplumb\\:oval","jsplumb\\:rect","jsplumb\\:stroke","jsplumb\\:shape","jsplumb\\:group"],g="behavior:url(#default#VML);position:absolute;";c=document.createStyleSheet();for(var r=0;rF?1:-1:0,K=N?Q>P?1:-1:0,O=D.lineWidth/2;G=G+" L "+H+" "+Q;G=G+" L "+(H+(L*O))+" "+(Q+(K*O));J=H;I=Q;G=G+" M "+H+" "+Q}G=G+" L "+E[6]+","+E[7];return G}};var y=window.SvgEndpoint=function(E){var D=this;s.apply(this,[{cssClass:E._jsPlumb.endpointClass,originalArgs:arguments,pointerEventsSpec:"all",useDivWrapper:true,_jsPlumb:E._jsPlumb}]);this._paint=function(H,G){var F=jsPlumb.extend({},G);if(F.outlineColor){F.strokeWidth=F.outlineWidth;F.strokeStyle=jsPlumbUtil.convertStyle(F.outlineColor,true)}if(D.node==null){D.node=D.makeNode(H,F);D.svg.appendChild(D.node);D.attachListeners(D.node,D)}x(D.svg,D.node,F,H,D);n(D.node,H)};this.reattachListeners=function(){if(D.node){D.reattachListenersForElement(D.node,D)}}};jsPlumb.Endpoints.svg.Dot=function(){jsPlumb.Endpoints.Dot.apply(this,arguments);y.apply(this,arguments);this.makeNode=function(E,D){return f("circle",{cx:E[2]/2,cy:E[3]/2,r:E[2]/2})}};jsPlumb.Endpoints.svg.Rectangle=function(){jsPlumb.Endpoints.Rectangle.apply(this,arguments);y.apply(this,arguments);this.makeNode=function(E,D){return f("rect",{width:E[2],height:E[3]})}};jsPlumb.Endpoints.svg.Image=jsPlumb.Endpoints.Image;jsPlumb.Endpoints.svg.Blank=jsPlumb.Endpoints.Blank;jsPlumb.Overlays.svg.Label=jsPlumb.Overlays.Label;jsPlumb.Overlays.svg.Custom=jsPlumb.Overlays.Custom;var p=function(H,F){H.apply(this,F);jsPlumb.jsPlumbUIComponent.apply(this,F);this.isAppendedAtTopLevel=false;var D=this,G=null;this.paint=function(J,M,I,N,K){if(G==null){G=f("path",{"pointer-events":"all"});J.svg.appendChild(G);D.attachListeners(G,J);D.attachListeners(G,D)}var L=F&&(F.length==1)?(F[0].cssClass||""):"";g(G,{d:E(M),"class":L,stroke:N?N:null,fill:K?K:null})};var E=function(I){return"M"+I.hxy.x+","+I.hxy.y+" L"+I.tail[0].x+","+I.tail[0].y+" L"+I.cxy.x+","+I.cxy.y+" L"+I.tail[1].x+","+I.tail[1].y+" L"+I.hxy.x+","+I.hxy.y};this.reattachListeners=function(){if(G){D.reattachListenersForElement(G,D)}};this.cleanup=function(){if(G!=null){jsPlumb.CurrentLibrary.removeElement(G)}}};jsPlumb.Overlays.svg.Arrow=function(){p.apply(this,[jsPlumb.Overlays.Arrow,arguments])};jsPlumb.Overlays.svg.PlainArrow=function(){p.apply(this,[jsPlumb.Overlays.PlainArrow,arguments])};jsPlumb.Overlays.svg.Diamond=function(){p.apply(this,[jsPlumb.Overlays.Diamond,arguments])};jsPlumb.Overlays.svg.GuideLines=function(){var I=null,D=this,H=null,G,F;jsPlumb.Overlays.GuideLines.apply(this,arguments);this.paint=function(K,M,J,N,L){if(I==null){I=f("path");K.svg.appendChild(I);D.attachListeners(I,K);D.attachListeners(I,D);G=f("path");K.svg.appendChild(G);D.attachListeners(G,K);D.attachListeners(G,D);F=f("path");K.svg.appendChild(F);D.attachListeners(F,K);D.attachListeners(F,D)}g(I,{d:E(M[0],M[1]),stroke:"red",fill:null});g(G,{d:E(M[2][0],M[2][1]),stroke:"blue",fill:null});g(F,{d:E(M[3][0],M[3][1]),stroke:"green",fill:null})};var E=function(K,J){return"M "+K.x+","+K.y+" L"+J.x+","+J.y}}})();(function(){var d=null,i=function(p,o){return jsPlumb.CurrentLibrary.hasClass(a(p),o)},a=function(o){return jsPlumb.CurrentLibrary.getElementObject(o)},m=function(o){return jsPlumb.CurrentLibrary.getOffset(a(o))},n=function(o){return jsPlumb.CurrentLibrary.getPageXY(o)},f=function(o){return jsPlumb.CurrentLibrary.getClientXY(o)};var k=function(){var q=this;q.overlayPlacements=[];jsPlumb.jsPlumbUIComponent.apply(this,arguments);jsPlumbUtil.EventGenerator.apply(this,arguments);this._over=function(z){var B=m(a(q.canvas)),D=n(z),u=D[0]-B.left,C=D[1]-B.top;if(u>0&&C>0&&u=u&&w[2]<=C&&w[3]>=C)){return true}}var A=q.canvas.getContext("2d").getImageData(parseInt(u),parseInt(C),1,1);return A.data[0]!=0||A.data[1]!=0||A.data[2]!=0||A.data[3]!=0}return false};var p=false,o=false,t=null,s=false,r=function(v,u){return v!=null&&i(v,u)};this.mousemove=function(x){var z=n(x),w=f(x),v=document.elementFromPoint(w[0],w[1]),y=r(v,"_jsPlumb_overlay");var u=d==null&&(r(v,"_jsPlumb_endpoint")||r(v,"_jsPlumb_connector"));if(!p&&u&&q._over(x)){p=true;q.fire("mouseenter",q,x);return true}else{if(p&&(!q._over(x)||!u)&&!y){p=false;q.fire("mouseexit",q,x)}}q.fire("mousemove",q,x)};this.click=function(u){if(p&&q._over(u)&&!s){q.fire("click",q,u)}s=false};this.dblclick=function(u){if(p&&q._over(u)&&!s){q.fire("dblclick",q,u)}s=false};this.mousedown=function(u){if(q._over(u)&&!o){o=true;t=m(a(q.canvas));q.fire("mousedown",q,u)}};this.mouseup=function(u){o=false;q.fire("mouseup",q,u)};this.contextmenu=function(u){if(p&&q._over(u)&&!s){q.fire("contextmenu",q,u)}s=false}};var c=function(p){var o=document.createElement("canvas");p._jsPlumb.appendElement(o,p.parent);o.style.position="absolute";if(p["class"]){o.className=p["class"]}p._jsPlumb.getId(o,p.uuid);if(p.tooltip){o.setAttribute("title",p.tooltip)}return o};var l=function(p){k.apply(this,arguments);var o=[];this.getDisplayElements=function(){return o};this.appendDisplayElement=function(q){o.push(q)}};var h=jsPlumb.CanvasConnector=function(r){l.apply(this,arguments);var o=function(v,t){p.ctx.save();jsPlumb.extend(p.ctx,t);if(t.gradient){var u=p.createGradient(v,p.ctx);for(var s=0;s0?c[0].tagName:null},getUIPosition:function(c,d){d=d||1;if(c.length==1){ret={left:c[0].pageX,top:c[0].pageY}}else{var e=c[1],b=e.offset;ret=b||e.absolutePosition;e.position.left/=d;e.position.top/=d}return{left:ret.left/d,top:ret.top/d}},hasClass:function(c,b){return c.hasClass(b)},initDraggable:function(c,b,d){b=b||{};b.helper=null;if(d){b.scope=b.scope||jsPlumb.Defaults.Scope}c.draggable(b)},initDroppable:function(c,b){b.scope=b.scope||jsPlumb.Defaults.Scope;c.droppable(b)},isAlreadyDraggable:function(b){b=jsPlumb.CurrentLibrary.getElementObject(b);return b.hasClass("ui-draggable")},isDragSupported:function(c,b){return c.draggable},isDropSupported:function(c,b){return c.droppable},removeClass:function(c,b){c=jsPlumb.CurrentLibrary.getElementObject(c);try{if(c[0].className.constructor==SVGAnimatedString){jsPlumbUtil.svg.removeClass(c[0],b)}}catch(d){}c.removeClass(b)},removeElement:function(b,c){jsPlumb.CurrentLibrary.getElementObject(b).remove()},setAttribute:function(c,d,b){c.attr(d,b)},setDraggable:function(c,b){c.draggable("option","disabled",!b)},setDragScope:function(c,b){c.draggable("option","scope",b)},setOffset:function(b,c){jsPlumb.CurrentLibrary.getElementObject(b).offset(c)},trigger:function(d,e,b){var c=jQuery._data(jsPlumb.CurrentLibrary.getElementObject(d)[0],"handle");c(b)},unbind:function(b,c,d){b=jsPlumb.CurrentLibrary.getElementObject(b);b.unbind(c,d)}};a(document).ready(jsPlumb.init)})(jQuery);(function(){"undefined"==typeof Math.sgn&&(Math.sgn=function(l){return 0==l?0:0=64){x[0]=(C[0].x+C[B].x)/2;return 1}var p,u=C[0].y-C[B].y;y=C[B].x-C[0].x;q=C[0].x*C[B].y-C[B].x*C[0].y;s=max_distance_below=0;for(p=1;ps?s=r:r0?1:-1,r=null;n1){l.location=1}if(l.location<0){l.location=0}return i(m,l.location)},nearestPointOnCurve:function(m,l){var n=h(m,l);return{point:k(l,l.length-1,n.location,null,null),location:n.location}},pointOnCurve:c,pointAlongCurveFrom:function(m,l,n){return b(m,l,n).point},perpendicularToCurveAt:function(m,l,n,o){l=b(m,l,o==null?0:o);m=i(m,l.location);o=Math.atan(-1/m);m=n/2*Math.sin(o);n=n/2*Math.cos(o);return[{x:l.point.x+n,y:l.point.y+m},{x:l.point.x-n,y:l.point.y-m}]},locationAlongCurveFrom:function(m,l,n){return b(m,l,n).location}}})(); \ No newline at end of file diff --git a/v3/js/jquery.qtip.min.js b/v3/js/jquery.qtip.min.js new file mode 100644 index 000000000..3971f6df5 --- /dev/null +++ b/v3/js/jquery.qtip.min.js @@ -0,0 +1,2 @@ +/*! qTip2 v2.0.0 | http://craigsworks.com/projects/qtip2/ | Licensed MIT, GPL */ +(function(a,b,c){(function(a){"use strict",typeof define=="function"&&define.amd?define(["jquery"],a):jQuery&&!jQuery.fn.qtip&&a(jQuery)})(function(d){function I(a){var b=function(a){return a===g||"object"!=typeof a},c=function(a){return!d.isFunction(a)&&(!a&&!a.attr||a.length<1||"object"==typeof a&&!a.jquery)};if(!a||"object"!=typeof a)return f;b(a.metadata)&&(a.metadata={type:a.metadata});if("content"in a){if(b(a.content)||a.content.jquery)a.content={text:a.content};c(a.content.text||f)&&(a.content.text=f),"title"in a.content&&(b(a.content.title)&&(a.content.title={text:a.content.title}),c(a.content.title.text||f)&&(a.content.title.text=f))}return"position"in a&&b(a.position)&&(a.position={my:a.position,at:a.position}),"show"in a&&b(a.show)&&(a.show=a.show.jquery?{target:a.show}:{event:a.show}),"hide"in a&&b(a.hide)&&(a.hide=a.hide.jquery?{target:a.hide}:{event:a.hide}),"style"in a&&b(a.style)&&(a.style={classes:a.style}),d.each(u,function(){this.sanitize&&this.sanitize(a)}),a}function J(h,i,q,r){function Q(a){var b=0,c,d=i,e=a.split(".");while(d=d[e[b++]])b",{"class":"ui-state-default ui-tooltip-close "+(i.style.widget?"":x+"-icon"),title:c,"aria-label":c}).prepend(d("",{"class":"ui-icon ui-icon-close",html:"×"})),O.button.appendTo(O.titlebar).attr("role","button").click(function(a){return M.hasClass(z)||s.hide(a),f}),s.redraw()}function V(){var a=J+"-title";O.titlebar&&T(),O.titlebar=d("
",{"class":x+"-titlebar "+(i.style.widget?"ui-widget-header":"")}).append(O.title=d("
",{id:a,"class":x+"-title","aria-atomic":e})).insertBefore(O.content).delegate(".ui-tooltip-close","mousedown keydown mouseup keyup mouseout",function(a){d(this).toggleClass("ui-state-active ui-state-focus",a.type.substr(-4)==="down")}).delegate(".ui-tooltip-close","mouseover mouseout",function(a){d(this).toggleClass("ui-state-hover",a.type==="mouseover")}),i.content.title.button?U():s.rendered&&s.redraw()}function W(a){var b=O.button,c=O.title;if(!s.rendered)return f;a?(c||V(),U()):b.remove()}function X(a,b){var c=O.title;if(!s.rendered||!a)return f;d.isFunction(a)&&(a=a.call(h,P.event,s));if(a===f||!a&&a!=="")return T(f);a.jquery&&a.length>0?c.empty().append(a.css({display:"block"})):c.html(a),s.redraw(),b!==f&&s.rendered&&M[0].offsetWidth>0&&s.reposition(P.event)}function Y(a,b){function g(a){function i(c){c&&(delete h[c.src],clearTimeout(s.timers.img[c.src]),d(c).unbind(N)),d.isEmptyObject(h)&&(s.redraw(),b!==f&&s.reposition(P.event),a())}var g,h={};if((g=e.find("img[src]:not([height]):not([width])")).length===0)return i();g.each(function(a,b){if(h[b.src]!==c)return;var e=0,f=3;(function g(){if(b.height||b.width||e>f)return i(b);e+=1,s.timers.img[b.src]=setTimeout(g,700)})(),d(b).bind("error"+N+" load"+N,function(){i(this)}),h[b.src]=b})}var e=O.content;return!s.rendered||!a?f:(d.isFunction(a)&&(a=a.call(h,P.event,s)||""),a.jquery&&a.length>0?e.empty().append(a.css({display:"block"})):e.html(a),s.rendered<0?M.queue("fx",g):(L=0,g(d.noop)),s)}function Z(){function l(a){if(M.hasClass(z))return f;clearTimeout(s.timers.show),clearTimeout(s.timers.hide);var b=function(){s.toggle(e,a)};i.show.delay>0?s.timers.show=setTimeout(b,i.show.delay):b()}function m(a){if(M.hasClass(z)||K||L)return f;var b=d(a.relatedTarget||a.target),e=b.closest(A)[0]===M[0],h=b[0]===g.show[0];clearTimeout(s.timers.show),clearTimeout(s.timers.hide);if(c.target==="mouse"&&e||i.hide.fixed&&/mouse(out|leave|move)/.test(a.type)&&(e||h)){try{a.preventDefault(),a.stopImmediatePropagation()}catch(j){}return}i.hide.delay>0?s.timers.hide=setTimeout(function(){s.hide(a)},i.hide.delay):s.hide(a)}function n(a){if(M.hasClass(z))return f;clearTimeout(s.timers.inactive),s.timers.inactive=setTimeout(function(){s.hide(a)},i.hide.inactive)}function o(a){s.rendered&&M[0].offsetWidth>0&&s.reposition(a)}var c=i.position,g={show:i.show.target,hide:i.hide.target,viewport:d(c.viewport),document:d(b),body:d(b.body),window:d(a)},j={show:d.trim(""+i.show.event).split(" "),hide:d.trim(""+i.hide.event).split(" ")},k=d.browser.msie&&parseInt(d.browser.version,10)===6;M.bind("mouseenter"+N+" mouseleave"+N,function(a){var b=a.type==="mouseenter";b&&s.focus(a),M.toggleClass(D,b)}),/mouse(out|leave)/i.test(i.hide.event)&&i.hide.leave==="window"&&g.window.bind("mouseout"+N+" blur"+N,function(a){!/select|option/.test(a.target.nodeName)&&!a.relatedTarget&&s.hide(a)}),i.hide.fixed?(g.hide=g.hide.add(M),M.bind("mouseover"+N,function(){M.hasClass(z)||clearTimeout(s.timers.hide)})):/mouse(over|enter)/i.test(i.show.event)&&g.hide.bind("mouseleave"+N,function(a){clearTimeout(s.timers.show)}),(""+i.hide.event).indexOf("unfocus")>-1&&c.container.closest("html").bind("mousedown"+N,function(a){var b=d(a.target),c=s.rendered&&!M.hasClass(z)&&M[0].offsetWidth>0,e=b.parents(A).filter(M[0]).length>0;b[0]!==h[0]&&b[0]!==M[0]&&!e&&!h.has(b[0]).length&&!b.attr("disabled")&&s.hide(a)}),"number"==typeof i.hide.inactive&&(g.show.bind("qtip-"+q+"-inactive",n),d.each(t.inactiveEvents,function(a,b){g.hide.add(O.tooltip).bind(b+N+"-inactive",n)})),d.each(j.hide,function(a,b){var c=d.inArray(b,j.show),e=d(g.hide);c>-1&&e.add(g.show).length===e.length||b==="unfocus"?(g.show.bind(b+N,function(a){M[0].offsetWidth>0?m(a):l(a)}),delete j.show[c]):g.hide.bind(b+N,m)}),d.each(j.show,function(a,b){g.show.bind(b+N,l)}),"number"==typeof i.hide.distance&&g.show.add(M).bind("mousemove"+N,function(a){var b=P.origin||{},c=i.hide.distance,d=Math.abs;(d(a.pageX-b.pageX)>=c||d(a.pageY-b.pageY)>=c)&&s.hide(a)}),c.target==="mouse"&&(g.show.bind("mousemove"+N,function(a){v={pageX:a.pageX,pageY:a.pageY,type:"mousemove"}}),c.adjust.mouse&&(i.hide.event&&(M.bind("mouseleave"+N,function(a){(a.relatedTarget||a.target)!==g.show[0]&&s.hide(a)}),O.target.bind("mouseenter"+N+" mouseleave"+N,function(a){P.onTarget=a.type==="mouseenter"})),g.document.bind("mousemove"+N,function(a){s.rendered&&P.onTarget&&!M.hasClass(z)&&M[0].offsetWidth>0&&s.reposition(a||v)}))),(c.adjust.resize||g.viewport.length)&&(d.event.special.resize?g.viewport:g.window).bind("resize"+N,o),(g.viewport.length||k&&M.css("position")==="fixed")&&g.viewport.bind("scroll"+N,o)}function _(){var c=[i.show.target[0],i.hide.target[0],s.rendered&&O.tooltip[0],i.position.container[0],i.position.viewport[0],i.position.container.closest("html")[0],a,b];s.rendered?d([]).pushStack(d.grep(c,function(a){return typeof a=="object"})).unbind(N):i.show.target.unbind(N+"-create")}var s=this,E=b.body,J=x+"-"+q,K=0,L=0,M=d(),N=".qtip-"+q,O,P;s.id=q,s.rendered=f,s.destroyed=f,s.elements=O={target:h},s.timers={img:{}},s.options=i,s.checks={},s.plugins={},s.cache=P={event:{},target:d(),disabled:f,attr:r,onTarget:f,lastClass:""},s.checks.builtin={"^id$":function(a,b,c){var g=c===e?t.nextid:c,h=x+"-"+g;g!==f&&g.length>0&&!d("#"+h).length&&(M[0].id=h,O.content[0].id=h+"-content",O.title[0].id=h+"-title")},"^content.text$":function(a,b,c){Y(c)},"^content.title.text$":function(a,b,c){if(!c)return T();!O.title&&c&&V(),X(c)},"^content.title.button$":function(a,b,c){W(c)},"^position.(my|at)$":function(a,b,c){"string"==typeof c&&(a[b]=new u.Corner(c))},"^position.container$":function(a,b,c){s.rendered&&M.appendTo(c)},"^show.ready$":function(){s.rendered?s.toggle(e):s.render(1)},"^style.classes$":function(a,b,c){M.attr("class",x+" qtip "+c)},"^style.widget|content.title":S,"^events.(render|show|move|hide|focus|blur)$":function(a,b,c){M[(d.isFunction(c)?"":"un")+"bind"]("tooltip"+b,c)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){var a=i.position;M.attr("tracking",a.target==="mouse"&&a.adjust.mouse),_(),Z()}},d.extend(s,{render:function(a){if(s.rendered)return s;var b=i.content.text,c=i.content.title.text,g=i.position;return d.attr(h[0],"aria-describedby",J),M=O.tooltip=d("
",{id:J,"class":x+" qtip "+B+" "+i.style.classes+" "+x+"-pos-"+i.position.my.abbrev(),width:i.style.width||"",height:i.style.height||"",tracking:g.target==="mouse"&&g.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":f,"aria-describedby":J+"-content","aria-hidden":e}).toggleClass(z,P.disabled).data("qtip",s).appendTo(i.position.container).append(O.content=d("
",{"class":x+"-content",id:J+"-content","aria-atomic":e})),s.rendered=-1,L=1,K=1,c&&(V(),d.isFunction(c)||X(c,f)),d.isFunction(b)||Y(b,f),s.rendered=e,S(),d.each(i.events,function(a,b){d.isFunction(b)&&M.bind(a==="toggle"?"tooltipshow tooltiphide":"tooltip"+a,b)}),d.each(u,function(){this.initialize==="render"&&this(s)}),Z(),M.queue("fx",function(b){R("render"),L=0,K=0,s.redraw(),(i.show.ready||a)&&s.toggle(e,P.event,f),b()}),s},get:function(a){var b,c;switch(a.toLowerCase()){case"dimensions":b={height:M.outerHeight(),width:M.outerWidth()};break;case"offset":b=u.offset(M,i.position.container);break;default:c=Q(a.toLowerCase()),b=c[0][c[1]],b=b.precedance?b.string():b}return b},set:function(a,b){function n(a,b){var c,d,e;for(c in l)for(d in l[c])if(e=(new RegExp(d,"i")).exec(a))b.push(e),l[c][d].apply(s,b)}var c=/^position\.(my|at|adjust|target|container)|style|content|show\.ready/i,h=/^content\.(title|attr)|style/i,j=f,k=f,l=s.checks,m;return"string"==typeof a?(m=a,a={},a[m]=b):a=d.extend(e,{},a),d.each(a,function(b,e){var f=Q(b.toLowerCase()),g;g=f[0][f[1]],f[0][f[1]]="object"==typeof e&&e.nodeType?d(e):e,a[b]=[f[0],f[1],e,g],j=c.test(b)||j,k=h.test(b)||k}),I(i),K=L=1,d.each(a,n),K=L=0,s.rendered&&M[0].offsetWidth>0&&(j&&s.reposition(i.position.target==="mouse"?g:P.event),k&&s.redraw()),s},toggle:function(a,c){function t(){a?(d.browser.msie&&M[0].style.removeAttribute("filter"),M.css("overflow",""),"string"==typeof h.autofocus&&d(h.autofocus,M).focus(),h.target.trigger("qtip-"+q+"-inactive")):M.css({display:"",visibility:"",opacity:"",left:"",top:""}),R(a?"visible":"hidden")}if(!s.rendered)return a?s.render(1):s;var g=a?"show":"hide",h=i[g],j=i[a?"hide":"show"],k=i.position,l=i.content,m=M[0].offsetWidth>0,n=a||h.target.length===1,o=!c||h.target.length<2||P.target[0]===c.target,p,r;(typeof a).search("boolean|number")&&(a=!m);if(!M.is(":animated")&&m===a&&o)return s;if(c){if(/over|enter/.test(c.type)&&/out|leave/.test(P.event.type)&&i.show.target.add(c.target).length===i.show.target.length&&M.has(c.relatedTarget).length)return s;P.event=d.extend({},c)}return R(g,[90])?(d.attr(M[0],"aria-hidden",!a),a?(P.origin=d.extend({},v),s.focus(c),d.isFunction(l.text)&&Y(l.text,f),d.isFunction(l.title.text)&&X(l.title.text,f),!G&&k.target==="mouse"&&k.adjust.mouse&&(d(b).bind("mousemove.qtip",function(a){v={pageX:a.pageX,pageY:a.pageY,type:"mousemove"}}),G=e),s.reposition(c,arguments[2]),!h.solo||d(A,h.solo).not(M).qtip("hide",d.Event("tooltipsolo"))):(clearTimeout(s.timers.show),delete P.origin,G&&!d(A+'[tracking="true"]:visible',h.solo).not(M).length&&(d(b).unbind("mousemove.qtip"),G=f),s.blur(c)),h.effect===f||n===f?(M[g](),t.call(M)):d.isFunction(h.effect)?(M.stop(1,1),h.effect.call(M,s),M.queue("fx",function(a){t(),a()})):M.fadeTo(90,a?1:0,t),a&&h.target.trigger("qtip-"+q+"-inactive"),s):s},show:function(a){return s.toggle(e,a)},hide:function(a){return s.toggle(f,a)},focus:function(a){if(!s.rendered)return s;var b=d(A),c=parseInt(M[0].style.zIndex,10),e=t.zindex+b.length,f=d.extend({},a),g;return M.hasClass(C)||R("focus",[e],f)&&(c!==e&&(b.each(function(){this.style.zIndex>c&&(this.style.zIndex=this.style.zIndex-1)}),b.filter("."+C).qtip("blur",f)),M.addClass(C)[0].style.zIndex=e),s},blur:function(a){return M.removeClass(C),R("blur",[M.css("zIndex")],a),s},reposition:function(c,e){if(!s.rendered||K)return s;K=1;var g=i.position.target,h=i.position,j=h.my,k=h.at,q=h.adjust,r=q.method.split(" "),t=M.outerWidth(),w=M.outerHeight(),x=0,y=0,z=M.css("position")==="fixed",A=h.viewport,B={left:0,top:0},C=h.container,D=M[0].offsetWidth>0,E,F,G;if(d.isArray(g)&&g.length===2)k={x:m,y:l},B={left:g[0],top:g[1]};else if(g==="mouse"&&(c&&c.pageX||P.event.pageX))k={x:m,y:l},c=(c&&(c.type==="resize"||c.type==="scroll")?P.event:c&&c.pageX&&c.type==="mousemove"?c:v&&v.pageX&&(q.mouse||!c||!c.pageX)?{pageX:v.pageX,pageY:v.pageY}:!q.mouse&&P.origin&&P.origin.pageX&&i.show.distance?P.origin:c)||c||P.event||v||{},B={top:c.pageY,left:c.pageX};else{g==="event"&&c&&c.target&&c.type!=="scroll"&&c.type!=="resize"?P.target=d(c.target):g!=="event"&&(P.target=d(g.jquery?g:O.target)),g=P.target,g=d(g).eq(0);if(g.length===0)return s;g[0]===b||g[0]===a?(x=u.iOS?a.innerWidth:g.width(),y=u.iOS?a.innerHeight:g.height(),g[0]===a&&(B={top:(A||g).scrollTop(),left:(A||g).scrollLeft()})):u.imagemap&&g.is("area")?E=u.imagemap(s,g,k,u.viewport?r:f):u.svg&&typeof g[0].xmlbase=="string"?E=u.svg(s,g,k,u.viewport?r:f):(x=g.outerWidth(),y=g.outerHeight(),B=u.offset(g,C)),E&&(x=E.width,y=E.height,F=E.offset,B=E.position);if(u.iOS>3.1&&u.iOS<4.1||u.iOS>=4.3&&u.iOS<4.33||!u.iOS&&z)G=d(a),B.left-=G.scrollLeft(),B.top-=G.scrollTop();B.left+=k.x===o?x:k.x===p?x/2:0,B.top+=k.y===n?y:k.y===p?y/2:0}return B.left+=q.x+(j.x===o?-t:j.x===p?-t/2:0),B.top+=q.y+(j.y===n?-w:j.y===p?-w/2:0),u.viewport?(B.adjusted=u.viewport(s,B,h,x,y,t,w),F&&B.adjusted.left&&(B.left+=F.left),F&&B.adjusted.top&&(B.top+=F.top)):B.adjusted={left:0,top:0},R("move",[B,A.elem||A],c)?(delete B.adjusted,e===f||!D||isNaN(B.left)||isNaN(B.top)||g==="mouse"||!d.isFunction(h.effect)?M.css(B):d.isFunction(h.effect)&&(h.effect.call(M,s,d.extend({},B)),M.queue(function(a){d(this).css({opacity:"",height:""}),d.browser.msie&&this.style.removeAttribute("filter"),a()})),K=0,s):s},redraw:function(){if(s.rendered<1||L)return s;var a=i.style,b=i.position.container,c,d,e,f;return L=1,R("redraw"),a.height&&M.css(k,a.height),a.width?M.css(j,a.width):(M.css(j,"").appendTo(H),d=M.width(),d%2<1&&(d+=1),e=M.css("max-width")||"",f=M.css("min-width")||"",c=(e+f).indexOf("%")>-1?b.width()/100:0,e=(e.indexOf("%")>-1?c:1)*parseInt(e,10)||d,f=(f.indexOf("%")>-1?c:1)*parseInt(f,10)||0,d=e+f?Math.min(Math.max(d,f),e):d,M.css(j,Math.round(d)).appendTo(b)),R("redrawn"),L=0,s},disable:function(a){return"boolean"!=typeof a&&(a=!M.hasClass(z)&&!P.disabled),s.rendered?(M.toggleClass(z,a),d.attr(M[0],"aria-disabled",a)):P.disabled=!!a,s},enable:function(){return s.disable(f)},destroy:function(){var a=h[0],b=d.attr(a,F),c=h.data("qtip");s.destroyed=e,s.rendered&&(M.stop(1,0).remove(),d.each(s.plugins,function(){this.destroy&&this.destroy()})),clearTimeout(s.timers.show),clearTimeout(s.timers.hide),_();if(!c||s===c)d.removeData(a,"qtip"),i.suppress&&b&&(d.attr(a,"title",b),h.removeAttr(F)),h.removeAttr("aria-describedby");return h.unbind(".qtip-"+q),delete w[s.id],h}})}function K(a,c){var h,i,j,k,l,m=d(this),n=d(b.body),o=this===b?n:m,p=m.metadata?m.metadata(c.metadata):g,q=c.metadata.type==="html5"&&p?p[c.metadata.name]:g,r=m.data(c.metadata.name||"qtipopts");try{r=typeof r=="string"?d.parseJSON(r):r}catch(s){}k=d.extend(e,{},t.defaults,c,typeof r=="object"?I(r):g,I(q||p)),i=k.position,k.id=a;if("boolean"==typeof k.content.text){j=m.attr(k.content.attr);if(k.content.attr!==f&&j)k.content.text=j;else return f}i.container.length||(i.container=n),i.target===f&&(i.target=o),k.show.target===f&&(k.show.target=o),k.show.solo===e&&(k.show.solo=i.container.closest("body")),k.hide.target===f&&(k.hide.target=o),k.position.viewport===e&&(k.position.viewport=i.container),i.container=i.container.eq(0),i.at=new u.Corner(i.at),i.my=new u.Corner(i.my);if(d.data(this,"qtip"))if(k.overwrite)m.qtip("destroy");else if(k.overwrite===f)return f;return k.suppress&&(l=d.attr(this,"title"))&&d(this).removeAttr("title").attr(F,l).attr("title",""),h=new J(m,k,a,!!j),d.data(this,"qtip",h),m.bind("remove.qtip-"+a+" removeqtip.qtip-"+a,function(){h.destroy()}),h}function L(a){var b=this,c=a.elements.tooltip,g=a.options.content.ajax,h=t.defaults.content.ajax,i=".qtip-ajax",j=/)<[^<]*)*<\/script>/gi,k=e,l=f,m;a.checks.ajax={"^content.ajax":function(a,d,e){d==="ajax"&&(g=e),d==="once"?b.init():g&&g.url?b.load():c.unbind(i)}},d.extend(b,{init:function(){return g&&g.url&&c.unbind(i)[g.once?"one":"bind"]("tooltipshow"+i,b.load),b},load:function(c){function r(){var b;if(a.destroyed)return;k=f,p&&(l=e,a.show(c.originalEvent)),(b=h.complete||g.complete)&&d.isFunction(b)&&b.apply(g.context||a,arguments)}function s(b,c,e){var f;if(a.destroyed)return;o&&"string"==typeof b&&(b=d("
").append(b.replace(j,"")).find(o)),(f=h.success||g.success)&&d.isFunction(f)?f.call(g.context||a,b,c,e):a.set("content.text",b)}function t(b,c,d){if(a.destroyed||b.status===0)return;a.set("content.text",c+": "+d)}if(l){l=f;return}var i=g.url.lastIndexOf(" "),n=g.url,o,p=!g.loading&&k;if(p)try{c.preventDefault()}catch(q){}else if(c&&c.isDefaultPrevented())return b;m&&m.abort&&m.abort(),i>-1&&(o=n.substr(i),n=n.substr(0,i)),m=d.ajax(d.extend({error:h.error||t,context:a},g,{url:n,success:s,complete:r}))},destroy:function(){m&&m.abort&&m.abort(),a.destroyed=e}}),b.init()}function M(a,b,c){var d=Math.ceil(b/2),e=Math.ceil(c/2),f={bottomright:[[0,0],[b,c],[b,0]],bottomleft:[[0,0],[b,0],[0,c]],topright:[[0,c],[b,0],[b,c]],topleft:[[0,0],[0,c],[b,c]],topcenter:[[0,c],[d,0],[b,c]],bottomcenter:[[0,0],[b,0],[d,c]],rightcenter:[[0,0],[b,e],[0,c]],leftcenter:[[b,0],[b,c],[0,e]]};return f.lefttop=f.bottomright,f.righttop=f.bottomleft,f.leftbottom=f.topright,f.rightbottom=f.topleft,f[a.string()]}function N(a,b){function D(a){var b=v.is(":visible");v.show(),a(),v.toggle(b)}function E(){x.width=r.height,x.height=r.width}function F(){x.width=r.width,x.height=r.height}function G(b,d,g,j){if(!t.tip)return;var k=q.corner.clone(),u=g.adjusted,v=a.options.position.adjust.method.split(" "),x=v[0],y=v[1]||v[0],z={left:f,top:f,x:0,y:0},A,B={},C;q.corner.fixed!==e&&(x===s&&k.precedance===h&&u.left&&k.y!==p?k.precedance=k.precedance===h?i:h:x!==s&&u.left&&(k.x=k.x===p?u.left>0?m:o:k.x===m?o:m),y===s&&k.precedance===i&&u.top&&k.x!==p?k.precedance=k.precedance===i?h:i:y!==s&&u.top&&(k.y=k.y===p?u.top>0?l:n:k.y===l?n:l),k.string()!==w.corner.string()&&(w.top!==u.top||w.left!==u.left)&&q.update(k,f)),A=q.position(k,u),A[k.x]+=I(k,k.x),A[k.y]+=I(k,k.y),A.right!==c&&(A.left=-A.right),A.bottom!==c&&(A.top=-A.bottom),A.user=Math.max(0,r.offset);if(z.left=x===s&&!!u.left)k.x===p?B["margin-left"]=z.x=A["margin-left"]-u.left:(C=A.right!==c?[u.left,-A.left]:[-u.left,A.left],(z.x=Math.max(C[0],C[1]))>C[0]&&(g.left-=u.left,z.left=f),B[A.right!==c?o:m]=z.x);if(z.top=y===s&&!!u.top)k.y===p?B["margin-top"]=z.y=A["margin-top"]-u.top:(C=A.bottom!==c?[u.top,-A.top]:[-u.top,A.top],(z.y=Math.max(C[0],C[1]))>C[0]&&(g.top-=u.top,z.top=f),B[A.bottom!==c?n:l]=z.y);t.tip.css(B).toggle(!(z.x&&z.y||k.x===p&&z.y||k.y===p&&z.x)),g.left-=A.left.charAt?A.user:x!==s||z.top||!z.left&&!z.top?A.left:0,g.top-=A.top.charAt?A.user:y!==s||z.left||!z.left&&!z.top?A.top:0,w.left=u.left,w.top=u.top,w.corner=k.clone()}function H(){var b=r.corner,c=a.options.position,d=c.at,g=c.my.string?c.my.string():c.my;return b===f||g===f&&d===f?f:(b===e?q.corner=new u.Corner(g):b.string||(q.corner=new u.Corner(b),q.corner.fixed=e),w.corner=new u.Corner(q.corner.string()),q.corner.string()!=="centercenter")}function I(a,b,c){b=b?b:a[a.precedance];var d=t.titlebar&&a.y===l,e=d?t.titlebar:v,f="border-"+b+"-width",g=function(a){return parseInt(a.css(f),10)},h;return D(function(){h=(c?g(c):g(t.content)||g(e)||g(v))||0}),h}function J(a){var b=t.titlebar&&a.y===l,c=b?t.titlebar:t.content,e=d.browser.mozilla,f=e?"-moz-":d.browser.webkit?"-webkit-":"",g="border-radius-"+a.y+a.x,h="border-"+a.y+"-"+a.x+"-radius",i=function(a){return parseInt(c.css(a),10)||parseInt(v.css(a),10)},j;return D(function(){j=i(h)||i(f+h)||i(f+g)||i(g)||0}),j}function K(a){function z(a,b,c){var d=a.css(b)||n;return c&&d===a.css(c)?f:j.test(d)?f:d}var b,c,g,h=t.tip.css("cssText",""),i=a||q.corner,j=/rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i,k="border-"+i[i.precedance]+"-color",m="background-color",n="transparent",o=" !important",s=t.titlebar,u=s&&(i.y===l||i.y===p&&h.position().top+x.height/2+r.offset-1,f=c*(e?.5:1),g=Math.pow,h=Math.round,l,m,n,o=Math.sqrt(g(f,2)+g(d,2)),q=[z/f*o,z/d*o];return q[2]=Math.sqrt(g(q[0],2)-g(z,2)),q[3]=Math.sqrt(g(q[1],2)-g(z,2)),l=o+q[2]+q[3]+(e?0:q[0]),m=l/o,n=[h(m*d),h(m*c)],{height:n[b?0:1],width:n[b?1:0]}}function N(a,b,c){return"'}var q=this,r=a.options.style.tip,t=a.elements,v=t.tooltip,w={top:0,left:0},x={width:r.width,height:r.height},y={},z=r.border||0,A=".qtip-tip",B=!!(d("")[0]||{}).getContext,C;q.corner=g,q.mimic=g,q.border=z,q.offset=r.offset,q.size=x,a.checks.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){q.init()||q.destroy(),a.reposition()},"^style.tip.(height|width)$":function(){x={width:r.width,height:r.height},q.create(),q.update(),a.reposition()},"^content.title.text|style.(classes|widget)$":function(){t.tip&&t.tip.length&&q.update()}},d.extend(q,{init:function(){var a=H()&&(B||d.browser.msie);return a&&(q.create(),q.update(),v.unbind(A).bind("tooltipmove"+A,G),B||v.bind("tooltipredraw tooltipredrawn",function(a){a.type==="tooltipredraw"?(C=t.tip.html(),t.tip.html("")):t.tip.html(C)})),a},create:function(){var a=x.width,b=x.height,c;t.tip&&t.tip.remove(),t.tip=d("
",{"class":"ui-tooltip-tip"}).css({width:a,height:b}).prependTo(v),B?d("").appendTo(t.tip)[0].getContext("2d").save():(c=N("shape",'coordorigin="0,0"',"position:absolute;"),t.tip.html(c+c),d("*",t.tip).bind("click mousedown",function(a){a.stopPropagation()}))},update:function(a,b){var c=t.tip,j=c.children(),k=x.width,s=x.height,A=r.mimic,C=Math.round,D,G,H,J,O;a||(a=w.corner||q.corner),A===f?A=a:(A=new u.Corner(A),A.precedance=a.precedance,A.x==="inherit"?A.x=a.x:A.y==="inherit"?A.y=a.y:A.x===A.y&&(A[a.precedance]=a[a.precedance])),D=A.precedance,a.precedance===h?E():F(),t.tip.css({width:k=x.width,height:s=x.height}),K(a),y.border!=="transparent"?(z=I(a,g),r.border===0&&z>0&&(y.fill=y.border),q.border=z=r.border!==e?r.border:z):q.border=z=0,H=M(A,k,s),q.size=O=L(a),c.css(O),a.precedance===i?J=[C(A.x===m?z:A.x===o?O.width-k-z:(O.width-k)/2),C(A.y===l?O.height-s:0)]:J=[C(A.x===m?O.width-k:0),C(A.y===l?z:A.y===n?O.height-s-z:(O.height-s)/2)],B?(j.attr(O),G=j[0].getContext("2d"),G.restore(),G.save(),G.clearRect(0,0,3e3,3e3),G.fillStyle=y.fill,G.strokeStyle=y.border,G.lineWidth=z*2,G.lineJoin="miter",G.miterLimit=100,G.translate(J[0],J[1]),G.beginPath(),G.moveTo(H[0][0],H[0][1]),G.lineTo(H[1][0],H[1][1]),G.lineTo(H[2][0],H[2][1]),G.closePath(),z&&(v.css("background-clip")==="border-box"&&(G.strokeStyle=y.fill,G.stroke()),G.strokeStyle=y.border,G.stroke()),G.fill()):(H="m"+H[0][0]+","+H[0][1]+" l"+H[1][0]+","+H[1][1]+" "+H[2][0]+","+H[2][1]+" xe",J[2]=z&&/^(r|b)/i.test(a.string())?parseFloat(d.browser.version,10)===8?2:1:0,j.css({coordsize:k+z+" "+(s+z),antialias:""+(A.string().indexOf(p)>-1),left:J[0],top:J[1],width:k+z,height:s+z}).each(function(a){var b=d(this);b[b.prop?"prop":"attr"]({coordsize:k+z+" "+(s+z),path:H,fillcolor:y.fill,filled:!!a,stroked:!a}).toggle(!!z||!!a),!a&&b.html()===""&&b.html(N("stroke",'weight="'+z*2+'px" color="'+y.border+'" miterlimit="1000" joinstyle="miter"'))})),b!==f&&q.position(a)},position:function(a){var b=t.tip,c={},e=Math.max(0,r.offset),g,n,o;return r.corner===f||!b?f:(a=a||q.corner,g=a.precedance,n=L(a),o=[a.x,a.y],g===h&&o.reverse(),d.each(o,function(b,d){var f,h,o;d===p?(f=g===i?m:l,c[f]="50%",c["margin-"+f]=-Math.round(n[g===i?j:k]/2)+e):(f=I(a,d),h=I(a,d,t.content),o=J(a),c[d]=b?h:e+(o>f?o:-f))}),c[a[g]]-=n[g===h?j:k],b.css({top:"",bottom:"",left:"",right:"",margin:""}).css(c),c)},destroy:function(){t.tip&&t.tip.remove(),t.tip=!1,v.unbind(A)}}),q.init()}function O(c){function s(){q=d(p,j).not("[disabled]").map(function(){return typeof this.focus=="function"?this:null})}function t(a){q.length<1&&a.length?a.not("body").blur():q.first().focus()}function v(a){var b=d(a.target),c=b.closest(".qtip"),e;e=c.length<1?f:parseInt(c[0].style.zIndex,10)>parseInt(j[0].style.zIndex,10),!e&&d(a.target).closest(A)[0]!==j[0]&&t(b)}var g=this,h=c.options.show.modal,i=c.elements,j=i.tooltip,k="#qtip-overlay",l=".qtipmodal",m=l+c.id,n="is-modal-qtip",o=d(b.body),p=u.modal.focusable.join(","),q={},r;c.checks.modal={"^show.modal.(on|blur)$":function(){g.init(),i.overlay.toggle(j.is(":visible"))},"^content.text$":function(){s()}},d.extend(g,{init:function(){return h.on?(r=g.create(),j.attr(n,e).css("z-index",u.modal.zindex+d(A+"["+n+"]").length).unbind(l).unbind(m).bind("tooltipshow"+l+" tooltiphide"+l,function(a,b,c){var e=a.originalEvent;if(a.target===j[0])if(e&&a.type==="tooltiphide"&&/mouse(leave|enter)/.test(e.type)&&d(e.relatedTarget).closest(r[0]).length)try{a.preventDefault()}catch(f){}else(!e||e&&!e.solo)&&g[a.type.replace("tooltip","")](a,c)}).bind("tooltipfocus"+l,function(a){if(a.isDefaultPrevented()||a.target!==j[0])return;var b=d(A).filter("["+n+"]"),c=u.modal.zindex+b.length,e=parseInt(j[0].style.zIndex,10);r[0].style.zIndex=c-2,b.each(function(){this.style.zIndex>e&&(this.style.zIndex-=1)}),b.end().filter("."+C).qtip("blur",a.originalEvent),j.addClass(C)[0].style.zIndex=c;try{a.preventDefault()}catch(f){}}).bind("tooltiphide"+l,function(a){a.target===j[0]&&d("["+n+"]").filter(":visible").not(j).last().qtip("focus",a)}),h.escape&&d(b).unbind(m).bind("keydown"+m,function(a){a.keyCode===27&&j.hasClass(C)&&c.hide(a)}),h.blur&&i.overlay.unbind(m).bind("click"+m,function(a){j.hasClass(C)&&c.hide(a)}),s(),g):g},create:function(){function c(){r.css({height:d(a).height(),width:d(a).width()})}var b=d(k);return b.length?i.overlay=b.insertAfter(d(A).last()):(r=i.overlay=d("
",{id:k.substr(1),html:"
",mousedown:function(){return f}}).hide().insertAfter(d(A).last()),d(a).unbind(l).bind("resize"+l,c),c(),r)},toggle:function(a,b,c){if(a&&a.isDefaultPrevented())return g;var i=h.effect,k=b?"show":"hide",l=r.is(":visible"),p=d("["+n+"]").filter(":visible").not(j),q;return r||(r=g.create()),r.is(":animated")&&l===b||!b&&p.length?g:(b?(r.css({left:0,top:0}),r.toggleClass("blurs",h.blur),h.stealfocus!==f&&(o.bind("focusin"+m,v),t(d("body :focus")))):o.unbind("focusin"+m),r.stop(e,f),d.isFunction(i)?i.call(r,b):i===f?r[k]():r.fadeTo(parseInt(c,10)||90,b?1:0,function(){b||d(this).hide()}),b||r.queue(function(a){r.css({left:"",top:""}),a()}),g)},show:function(a,b){return g.toggle(a,e,b)},hide:function(a,b){return g.toggle(a,f,b)},destroy:function(){var a=r;return a&&(a=d("["+n+"]").not(j).length<1,a?(i.overlay.remove(),d(b).unbind(l)):i.overlay.unbind(l+c.id),o.undelegate("*","focusin"+m)),j.removeAttr(n).unbind(l)}}),g.init()}function P(a){var b=this,c=a.elements,e=c.tooltip,f=".bgiframe-"+a.id;d.extend(b,{init:function(){c.bgiframe=d(''),c.bgiframe.appendTo(e),e.bind("tooltipmove"+f,b.adjust)},adjust:function(){var b=a.get("dimensions"),d=a.plugins.tip,f=c.tip,g,h;h=parseInt(e.css("border-left-width"),10)||0,h={left:-h,top:-h},d&&f&&(g=d.corner.precedance==="x"?["width","left"]:["height","top"],h[g[1]]-=f[g[0]]()),c.bgiframe.css(h).css(b)},destroy:function(){c.bgiframe.remove(),e.unbind(f)}}),b.init()}var e=!0,f=!1,g=null,h="x",i="y",j="width",k="height",l="top",m="left",n="bottom",o="right",p="center",q="flip",r="flipinvert",s="shift",t,u,v,w={},x="ui-tooltip",y="ui-widget",z="ui-state-disabled",A="div.qtip."+x,B=x+"-default",C=x+"-focus",D=x+"-hover",E="_replacedByqTip",F="oldtitle",G,H;H=d("
",{id:"qtip-rcontainer"}),d(function(){H.appendTo(b.body)}),t=d.fn.qtip=function(a,b,h){var i=(""+a).toLowerCase(),j=g,k=d.makeArray(arguments).slice(1),l=k[k.length-1],m=this[0]?d.data(this[0],"qtip"):g;if(!arguments.length&&m||i==="api")return m;if("string"==typeof a)return this.each(function(){var a=d.data(this,"qtip");if(!a)return e;l&&l.timeStamp&&(a.cache.event=l);if(i!=="option"&&i!=="options"||!b)a[i]&&a[i].apply(a[i],k);else if(d.isPlainObject(b)||h!==c)a.set(b,h);else return j=a.get(b),f}),j!==g?j:this;if("object"==typeof a||!arguments.length)return m=I(d.extend(e,{},a)),t.bind.call(this,m,l)},t.bind=function(a,b){return this.each(function(g){function n(a){function b(){l.render(typeof a=="object"||h.show.ready),i.show.add(i.hide).unbind(k)}if(l.cache.disabled)return f;l.cache.event=d.extend({},a),l.cache.target=a?d(a.target):[c],h.show.delay>0?(clearTimeout(l.timers.show),l.timers.show=setTimeout(b,h.show.delay),j.show!==j.hide&&i.hide.bind(j.hide,function(){clearTimeout(l.timers.show)})):b()}var h,i,j,k,l,m;m=d.isArray(a.id)?a.id[g]:a.id,m=!m||m===f||m.length<1||w[m]?t.nextid++:w[m]=m,k=".qtip-"+m+"-create",l=K.call(this,m,a);if(l===f)return e;h=l.options,d.each(u,function(){this.initialize==="initialize"&&this(l)}),i={show:h.show.target,hide:h.hide.target},j={show:d.trim(""+h.show.event).replace(/ /g,k+" ")+k,hide:d.trim(""+h.hide.event).replace(/ /g,k+" ")+k},/mouse(over|enter)/i.test(j.show)&&!/mouse(out|leave)/i.test(j.hide)&&(j.hide+=" mouseleave"+k),i.show.bind("mousemove"+k,function(a){v={pageX:a.pageX,pageY:a.pageY,type:"mousemove"},l.cache.onTarget=e}),i.show.bind(j.show,n),(h.show.ready||h.prerender)&&n(b)})},u=t.plugins={Corner:function(a){a=(""+a).replace(/([A-Z])/," $1").replace(/middle/gi,p).toLowerCase(),this.x=(a.match(/left|right/i)||a.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(a.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase();var b=a.charAt(0);this.precedance=b==="t"||b==="b"?i:h,this.string=function(){return this.precedance===i?this.y+this.x:this.x+this.y},this.abbrev=function(){var a=this.x.substr(0,1),b=this.y.substr(0,1);return a===b?a:this.precedance===i?b+a:a+b},this.invertx=function(a){this.x=this.x===m?o:this.x===o?m:a||this.x},this.inverty=function(a){this.y=this.y===l?n:this.y===n?l:a||this.y},this.clone=function(){return{x:this.x,y:this.y,precedance:this.precedance,string:this.string,abbrev:this.abbrev,clone:this.clone,invertx:this.invertx,inverty:this.inverty}}},offset:function(a,b){function j(a,b){c.left+=b*a.scrollLeft(),c.top+=b*a.scrollTop()}var c=a.offset(),e=a.closest("body")[0],f=b,g,h,i;if(f){do f.css("position")!=="static"&&(h=f.position(),c.left-=h.left+(parseInt(f.css("borderLeftWidth"),10)||0)+(parseInt(f.css("marginLeft"),10)||0),c.top-=h.top+(parseInt(f.css("borderTopWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0),!g&&(i=f.css("overflow"))!=="hidden"&&i!=="visible"&&(g=f));while((f=d(f[0].offsetParent)).length);g&&g[0]!==e&&j(g,1)}return c},iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||f,fn:{attr:function(a,b){if(this.length){var c=this[0],e="title",f=d.data(c,"qtip");if(a===e&&f&&"object"==typeof f&&f.options.suppress)return arguments.length<2?d.attr(c,F):(f&&f.options.content.attr===e&&f.cache.attr&&f.set("content.text",b),this.attr(F,b))}return d.fn["attr"+E].apply(this,arguments)},clone:function(a){var b=d([]),c="title",e=d.fn["clone"+E].apply(this,arguments);return a||e.filter("["+F+"]").attr("title",function(){return d.attr(this,F)}).removeAttr(F),e}}},d.each(u.fn,function(a,b){if(!b||d.fn[a+E])return e;var c=d.fn[a+E]=d.fn[a];d.fn[a]=function(){return b.apply(this,arguments)||c.apply(this,arguments)}}),d.ui||(d["cleanData"+E]=d.cleanData,d.cleanData=function(a){for(var b=0,e;(e=a[b])!==c;b++)try{d(e).triggerHandler("removeqtip")}catch(f){}d["cleanData"+E](a)}),t.version="@VERSION",t.nextid=0,t.inactiveEvents="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),t.zindex=15e3,t.defaults={prerender:f,id:f,overwrite:e,suppress:e,content:{text:e,attr:"title",title:{text:f,button:f}},position:{my:"top left",at:"bottom right",target:f,container:f,viewport:f,adjust:{x:0,y:0,mouse:e,resize:e,method:"flip flip"},effect:function(a,b,c){d(this).animate(b,{duration:200,queue:f})}},show:{target:f,event:"mouseenter",effect:e,delay:90,solo:f,ready:f,autofocus:f},hide:{target:f,event:"mouseleave",effect:e,delay:0,fixed:f,inactive:f,leave:"window",distance:f},style:{classes:"",widget:f,width:f,height:f,def:e},events:{render:g,move:g,show:g,hide:g,toggle:g,visible:g,hidden:g,focus:g,blur:g}},u.svg=function(a,c,e,f){var g=d(b),h=c[0],i={width:0,height:0,position:{top:1e10,left:1e10}},j,k,l,m,n;while(!h.getBBox)h=h.parentNode;if(h.getBBox&&h.parentNode){j=h.getBBox(),k=h.getScreenCTM(),l=h.farthestViewportElement||h;if(!l.createSVGPoint)return i;m=l.createSVGPoint(),m.x=j.x,m.y=j.y,n=m.matrixTransform(k),i.position.left=n.x,i.position.top=n.y,m.x+=j.width,m.y+=j.height,n=m.matrixTransform(k),i.width=n.x-i.position.left,i.height=n.y-i.position.top,i.position.left+=g.scrollLeft(),i.position.top+=g.scrollTop()}return i},u.ajax=function(a){var b=a.plugins.ajax;return"object"==typeof b?b:a.plugins.ajax=new L(a)},u.ajax.initialize="render",u.ajax.sanitize=function(a){var b=a.content,c;b&&"ajax"in b&&(c=b.ajax,typeof c!="object"&&(c=a.content.ajax={url:c}),"boolean"!=typeof c.once&&c.once&&(c.once=!!c.once))},d.extend(e,t.defaults,{content:{ajax:{loading:e,once:e}}}),u.tip=function(a){var b=a.plugins.tip;return"object"==typeof b?b:a.plugins.tip=new N(a)},u.tip.initialize="render",u.tip.sanitize=function(a){var b=a.style,c;b&&"tip"in b&&(c=a.style.tip,typeof c!="object"&&(a.style.tip={corner:c}),/string|boolean/i.test(typeof c.corner)||(c.corner=e),typeof c.width!="number"&&delete c.width,typeof c.height!="number"&&delete c.height,typeof c.border!="number"&&c.border!==e&&delete c.border,typeof c.offset!="number"&&delete c.offset)},d.extend(e,t.defaults,{style:{tip:{corner:e,mimic:f,width:6,height:6,border:e,offset:0}}}),u.modal=function(a){var b=a.plugins.modal;return"object"==typeof b?b:a.plugins.modal=new O(a)},u.modal.initialize="render",u.modal.sanitize=function(a){a.show&&(typeof a.show.modal!="object"?a.show.modal={on:!!a.show.modal}:typeof a.show.modal.on=="undefined"&&(a.show.modal.on=e))},u.modal.zindex=t.zindex-200,u.modal.focusable=["a[href]","area[href]","input","select","textarea","button","iframe","object","embed","[tabindex]","[contenteditable]"],d.extend(e,t.defaults,{show:{modal:{on:f,effect:e,blur:e,stealfocus:e,escape:e}}}),u.viewport=function(c,d,e,f,g,q,t){function L(a,b,c,e,f,g,h,i,j){var k=d[f],l=w[a],m=y[a],n=c===s,o=-E.offset[f]+D.offset[f]+D["scroll"+f],q=l===f?j:l===g?-j:-j/2,t=m===f?i:m===g?-i:-i/2,u=G&&G.size?G.size[h]||0:0,v=G&&G.corner&&G.corner.precedance===a&&!n?u:0,x=o-k+v,z=k+j-D[h]-o+v,A=q-(w.precedance===a||l===w[b]?t:0)-(m===p?i/2:0);return n?(v=G&&G.corner&&G.corner.precedance===b?u:0,A=(l===f?1:-1)*q-v,d[f]+=x>0?x:z>0?-z:0,d[f]=Math.max(-E.offset[f]+D.offset[f]+(v&&G.corner[a]===p?G.offset:0),k-A,Math.min(Math.max(-E.offset[f]+D.offset[f]+D[h],k+A),d[f]))):(e*=c===r?2:0,x>0&&(l!==f||z>0)?(d[f]-=A+e,J["invert"+a](f)):z>0&&(l!==g||x>0)&&(d[f]-=(l===p?-A:A)+e,J["invert"+a](g)),d[f]z&&(d[f]=k,J=w.clone())),d[f]-k}var u=e.target,v=c.elements.tooltip,w=e.my,y=e.at,z=e.adjust,A=z.method.split(" "),B=A[0],C=A[1]||A[0],D=e.viewport,E=e.container,F=c.cache,G=c.plugins.tip,H={left:0,top:0},I,J,K;if(!D.jquery||u[0]===a||u[0]===b.body||z.method==="none")return H;I=v.css("position")==="fixed",D={elem:D,height:D[(D[0]===a?"h":"outerH")+"eight"](),width:D[(D[0]===a?"w":"outerW")+"idth"](),scrollleft:I?0:D.scrollLeft(),scrolltop:I?0:D.scrollTop(),offset:D.offset()||{left:0,top:0}},E={elem:E,scrollLeft:E.scrollLeft(),scrollTop:E.scrollTop(),offset:E.offset()||{left:0,top:0}};if(B!=="shift"||C!=="shift")J=w.clone();return H={left:B!=="none"?L(h,i,B,z.x,m,o,j,f,q):0,top:C!=="none"?L(i,h,C,z.y,l,n,k,g,t):0},J&&F.lastClass!==(K=x+"-pos-"+J.abbrev())&&v.removeClass(c.cache.lastClass).addClass(c.cache.lastClass=K),H},u.imagemap=function(a,b,c,e){function v(a,b,c){var d=0,e=1,f=1,g=0,h=0,i=a.width,j=a.height;while(i>0&&j>0&&e>0&&f>0){i=Math.floor(i/2),j=Math.floor(j/2),c.x===m?e=i:c.x===o?e=a.width-i:e+=Math.floor(i/2),c.y===l?f=j:c.y===n?f=a.height-j:f+=Math.floor(j/2),d=b.length;while(d--){if(b.length<2)break;g=b[d][0]-a.position.left,h=b[d][1]-a.position.top,(c.x===m&&g>=e||c.x===o&&g<=e||c.x===p&&(ga.width-e)||c.y===l&&h>=f||c.y===n&&h<=f||c.y===p&&(ha.height-f))&&b.splice(d,1)}}return{left:b[0][0],top:b[0][1]}}b.jquery||(b=d(b));var f=a.cache.areas={},g=(b[0].shape||b.attr("shape")).toLowerCase(),h=b[0].coords||b.attr("coords"),i=h.split(","),j=[],k=d('img[usemap="#'+b.parent("map").attr("name")+'"]'),q=k.offset(),r={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10}},s=0,t=0,u;q.left+=Math.ceil((k.outerWidth()-k.width())/2),q.top+=Math.ceil((k.outerHeight()-k.height())/2);if(g==="poly"){s=i.length;while(s--)t=[parseInt(i[--s],10),parseInt(i[s+1],10)],t[0]>r.position.right&&(r.position.right=t[0]),t[0]r.position.bottom&&(r.position.bottom=t[1]),t[1]' in the URL, then set this var +var preseededCurInstr = null; // if you passed in a 'curInstr=' in the URL, then set this var + + +var myVisualizer = null; // singleton ExecutionVisualizer instance + +var keyStuckDown = false; + +function enterEditMode() { + $.bbq.pushState({ mode: 'edit' }, 2 /* completely override other hash strings to keep URL clean */); +} + + +var pyInputCodeMirror; // CodeMirror object that contains the input text + +function setCodeMirrorVal(dat) { + pyInputCodeMirror.setValue(dat.rtrim() /* kill trailing spaces */); + $('#urlOutput,#embedCodeOutput').val(''); + + // also scroll to top to make the UI more usable on smaller monitors + $(document).scrollTop(0); +} + + +$(document).ready(function() { + + $("#embedLinkDiv").hide(); + + pyInputCodeMirror = CodeMirror(document.getElementById('codeInputPane'), { + mode: 'python', + lineNumbers: true, + tabSize: 4, + indentUnit: 4, + // convert tab into four spaces: + extraKeys: {Tab: function(cm) {cm.replaceSelection(" ", "end");}} + }); + + pyInputCodeMirror.setSize(null, '420px'); + + + + // be friendly to the browser's forward and back buttons + // thanks to http://benalman.com/projects/jquery-bbq-plugin/ + $(window).bind("hashchange", function(e) { + appMode = $.bbq.getState('mode'); // assign this to the GLOBAL appMode + + if (appMode === undefined || appMode == 'edit') { + $("#pyInputPane").show(); + $("#pyOutputPane").hide(); + $("#embedLinkDiv").hide(); + } + else if (appMode == 'display') { + $("#pyInputPane").hide(); + $("#pyOutputPane").show(); + + $("#embedLinkDiv").show(); + + $('#executeBtn').html("Visualize execution"); + $('#executeBtn').attr('disabled', false); + + + // do this AFTER making #pyOutputPane visible, or else + // jsPlumb connectors won't render properly + myVisualizer.updateOutput(); + + // customize edit button click functionality AFTER rendering (NB: awkward!) + $('#pyOutputPane #editCodeLinkDiv').show(); + $('#pyOutputPane #editBtn').click(function() { + enterEditMode(); + }); + } + else { + assert(false); + } + + $('#urlOutput,#embedCodeOutput').val(''); // clear to avoid stale values + }); + + + $("#executeBtn").attr('disabled', false); + $("#executeBtn").click(function() { + + var backend_script = null; + if ($('#pythonVersionSelector').val() == '2') { + backend_script = python2_backend_script; + } + else if ($('#pythonVersionSelector').val() == '3') { + backend_script = python3_backend_script; + } + + if (!backend_script) { + alert('Error: This server is not configured to run Python ' + $('#pythonVersionSelector').val()); + return; + } + + $('#executeBtn').html("Please wait ... processing your code"); + $('#executeBtn').attr('disabled', true); + $("#pyOutputPane").hide(); + $("#embedLinkDiv").hide(); + + + $.get(backend_script, + {user_script : pyInputCodeMirror.getValue(), + cumulative_mode: $('#cumulativeModeSelector').val()}, + function(dataFromBackend) { + var trace = dataFromBackend.trace; + + // don't enter visualize mode if there are killer errors: + if (!trace || + (trace.length == 0) || + (trace[trace.length - 1].event == 'uncaught_exception')) { + + if (trace.length == 1) { + var errorLineNo = trace[0].line - 1; /* CodeMirror lines are zero-indexed */ + if (errorLineNo !== undefined) { + // highlight the faulting line in pyInputCodeMirror + pyInputCodeMirror.focus(); + pyInputCodeMirror.setCursor(errorLineNo, 0); + pyInputCodeMirror.setLineClass(errorLineNo, null, 'errorLine'); + + pyInputCodeMirror.setOption('onChange', function() { + pyInputCodeMirror.setLineClass(errorLineNo, null, null); // reset line back to normal + pyInputCodeMirror.setOption('onChange', null); // cancel + }); + } + + alert(trace[0].exception_msg); + } + else if (trace[trace.length - 1].exception_msg) { + alert(trace[trace.length - 1].exception_msg); + } + else { + alert("Whoa, unknown error! Reload to try again, or report a bug to philip@pgbovine.net\n\n(Click the 'Generate URL' button to include a unique URL in your email bug report.)"); + } + + $('#executeBtn').html("Visualize execution"); + $('#executeBtn').attr('disabled', false); + } + else { + var startingInstruction = 0; + + // only do this at most ONCE, and then clear out preseededCurInstr + if (preseededCurInstr && preseededCurInstr < trace.length) { // NOP anyways if preseededCurInstr is 0 + startingInstruction = preseededCurInstr; + preseededCurInstr = null; + } + + myVisualizer = new ExecutionVisualizer('pyOutputPane', + dataFromBackend, + {startingInstruction: startingInstruction, + updateOutputCallback: function() {$('#urlOutput,#embedCodeOutput').val('');} + }); + + + // set keyboard bindings + $(document).keydown(function(k) { + if (!keyStuckDown) { + if (k.keyCode == 37) { // left arrow + if (myVisualizer.stepBack()) { + k.preventDefault(); // don't horizontally scroll the display + keyStuckDown = true; + } + } + else if (k.keyCode == 39) { // right arrow + if (myVisualizer.stepForward()) { + k.preventDefault(); // don't horizontally scroll the display + keyStuckDown = true; + } + } + } + }); + + $(document).keyup(function(k) { + keyStuckDown = false; + }); + + + // also scroll to top to make the UI more usable on smaller monitors + $(document).scrollTop(0); + + $.bbq.pushState({ mode: 'display' }, 2 /* completely override other hash strings to keep URL clean */); + } + }, + "json"); + }); + + + + // canned examples + + $("#tutorialExampleLink").click(function() { + $.get("example-code/py_tutorial.txt", setCodeMirrorVal); + return false; + }); + + $("#strtokExampleLink").click(function() { + $.get("example-code/strtok.txt", setCodeMirrorVal); + return false; + }); + + $("#listCompLink").click(function() { + $.get("example-code/list-comp.txt", setCodeMirrorVal); + return false; + }); + + $("#fibonacciExampleLink").click(function() { + $.get("example-code/fib.txt", setCodeMirrorVal); + return false; + }); + + $("#memoFibExampleLink").click(function() { + $.get("example-code/memo_fib.txt", setCodeMirrorVal); + return false; + }); + + $("#factExampleLink").click(function() { + $.get("example-code/fact.txt", setCodeMirrorVal); + return false; + }); + + $("#filterExampleLink").click(function() { + $.get("example-code/filter.txt", setCodeMirrorVal); + return false; + }); + + $("#insSortExampleLink").click(function() { + $.get("example-code/ins_sort.txt", setCodeMirrorVal); + return false; + }); + + $("#aliasExampleLink").click(function() { + $.get("example-code/aliasing.txt", setCodeMirrorVal); + return false; + }); + + $("#happyExampleLink").click(function() { + $.get("example-code/happy.txt", setCodeMirrorVal); + return false; + }); + + $("#newtonExampleLink").click(function() { + $.get("example-code/sqrt.txt", setCodeMirrorVal); + return false; + }); + + $("#oopSmallExampleLink").click(function() { + $.get("example-code/oop_small.txt", setCodeMirrorVal); + return false; + }); + + $("#mapExampleLink").click(function() { + $.get("example-code/map.txt", setCodeMirrorVal); + return false; + }); + + $("#oop1ExampleLink").click(function() { + $.get("example-code/oop_1.txt", setCodeMirrorVal); + return false; + }); + + $("#oop2ExampleLink").click(function() { + $.get("example-code/oop_2.txt", setCodeMirrorVal); + return false; + }); + + $("#inheritanceExampleLink").click(function() { + $.get("example-code/oop_inherit.txt", setCodeMirrorVal); + return false; + }); + + $("#sumExampleLink").click(function() { + $.get("example-code/sum.txt", setCodeMirrorVal); + return false; + }); + + $("#pwGcdLink").click(function() { + $.get("example-code/wentworth_gcd.txt", setCodeMirrorVal); + return false; + }); + + $("#pwSumListLink").click(function() { + $.get("example-code/wentworth_sumList.txt", setCodeMirrorVal); + return false; + }); + + $("#towersOfHanoiLink").click(function() { + $.get("example-code/towers_of_hanoi.txt", setCodeMirrorVal); + return false; + }); + + $("#pwTryFinallyLink").click(function() { + $.get("example-code/wentworth_try_finally.txt", setCodeMirrorVal); + return false; + }); + + $("#sumCubesLink").click(function() { + $.get("example-code/sum-cubes.txt", setCodeMirrorVal); + return false; + }); + + $("#decoratorsLink").click(function() { + $.get("example-code/decorators.txt", setCodeMirrorVal); + return false; + }); + + $("#genPrimesLink").click(function() { + $.get("example-code/gen_primes.txt", setCodeMirrorVal); + return false; + }); + + $("#genExprLink").click(function() { + $.get("example-code/genexpr.txt", setCodeMirrorVal); + return false; + }); + + + $('#closure1Link').click(function() { + $.get("example-code/closures/closure1.txt", setCodeMirrorVal); + return false; + }); + $('#closure2Link').click(function() { + $.get("example-code/closures/closure2.txt", setCodeMirrorVal); + return false; + }); + $('#closure3Link').click(function() { + $.get("example-code/closures/closure3.txt", setCodeMirrorVal); + return false; + }); + $('#closure4Link').click(function() { + $.get("example-code/closures/closure4.txt", setCodeMirrorVal); + return false; + }); + $('#closure5Link').click(function() { + $.get("example-code/closures/closure5.txt", setCodeMirrorVal); + return false; + }); + $('#lambdaParamLink').click(function() { + $.get("example-code/closures/lambda-param.txt", setCodeMirrorVal); + return false; + }); + $('#tortureLink').click(function() { + $.get("example-code/closures/student-torture.txt", setCodeMirrorVal); + return false; + }); + + + + $('#aliasing1Link').click(function() { + $.get("example-code/aliasing/aliasing1.txt", setCodeMirrorVal); + return false; + }); + $('#aliasing2Link').click(function() { + $.get("example-code/aliasing/aliasing2.txt", setCodeMirrorVal); + return false; + }); + $('#aliasing3Link').click(function() { + $.get("example-code/aliasing/aliasing3.txt", setCodeMirrorVal); + return false; + }); + $('#aliasing4Link').click(function() { + $.get("example-code/aliasing/aliasing4.txt", setCodeMirrorVal); + return false; + }); + $('#aliasing5Link').click(function() { + $.get("example-code/aliasing/aliasing5.txt", setCodeMirrorVal); + return false; + }); + $('#aliasing6Link').click(function() { + $.get("example-code/aliasing/aliasing6.txt", setCodeMirrorVal); + return false; + }); + $('#aliasing7Link').click(function() { + $.get("example-code/aliasing/aliasing7.txt", setCodeMirrorVal); + return false; + }); + $('#aliasing8Link').click(function() { + $.get("example-code/aliasing/aliasing8.txt", setCodeMirrorVal); + return false; + }); + + + $('#ll1Link').click(function() { + $.get("example-code/linked-lists/ll1.txt", setCodeMirrorVal); + return false; + }); + $('#ll2Link').click(function() { + $.get("example-code/linked-lists/ll2.txt", setCodeMirrorVal); + return false; + }); + $('#sumListLink').click(function() { + $.get("example-code/sum-list.txt", setCodeMirrorVal); + return false; + }); + + $('#varargsLink').click(function() { + $.get("example-code/varargs.txt", setCodeMirrorVal); + return false; + }); + + $('#forElseLink').click(function() { + $.get("example-code/for-else.txt", setCodeMirrorVal); + return false; + }); + + $('#nonlocalLink').click(function() { + $.get("example-code/nonlocal.txt", setCodeMirrorVal); + return false; + }); + + + // handle hash parameters passed in when loading the page + preseededCode = $.bbq.getState('code'); + if (preseededCode) { + setCodeMirrorVal(preseededCode); + } + else { + // select a canned example on start-up: + $("#aliasExampleLink").trigger('click'); + } + + // ugh, ugly tristate due to the possibility of them being undefined + var cumulativeState = $.bbq.getState('cumulative'); + if (cumulativeState !== undefined) { + $('#cumulativeModeSelector').val(cumulativeState); + } + var pyState = $.bbq.getState('py'); + if (pyState !== undefined) { + $('#pythonVersionSelector').val(pyState); + } + + appMode = $.bbq.getState('mode'); // assign this to the GLOBAL appMode + if ((appMode == "display") && preseededCode /* jump to display only with pre-seeded code */) { + preseededCurInstr = Number($.bbq.getState('curInstr')); + $("#executeBtn").trigger('click'); + } + else { + if (appMode === undefined) { + // default mode is 'edit', don't trigger a "hashchange" event + appMode = 'edit'; + } + else { + // fail-soft by killing all passed-in hashes and triggering a "hashchange" + // event, which will then go to 'edit' mode + $.bbq.removeState(); + } + } + + + // log a generic AJAX error handler + $(document).ajaxError(function() { + alert("Server error (possibly due to memory/resource overload). Report a bug to philip@pgbovine.net\n\n(Click the 'Generate URL' button to include a unique URL in your email bug report.)"); + + $('#executeBtn').html("Visualize execution"); + $('#executeBtn').attr('disabled', false); + }); + + + // redraw connector arrows on window resize + $(window).resize(function() { + if (appMode == 'display') { + myVisualizer.redrawConnectors(); + } + }); + + $('#genUrlBtn').bind('click', function() { + var myArgs = {code: pyInputCodeMirror.getValue(), + mode: appMode, + cumulative: $('#cumulativeModeSelector').val(), + py: $('#pythonVersionSelector').val()}; + + if (appMode == 'display') { + myArgs.curInstr = myVisualizer.curInstr; + } + + var urlStr = $.param.fragment(window.location.href, myArgs, 2 /* clobber all */); + $('#urlOutput').val(urlStr); + }); + + + $('#genEmbedBtn').bind('click', function() { + assert(appMode == 'display'); + var myArgs = {code: pyInputCodeMirror.getValue(), + cumulative: $('#cumulativeModeSelector').val(), + py: $('#pythonVersionSelector').val(), + curInstr: myVisualizer.curInstr, + }; + + var embedUrlStr = $.param.fragment('http://pythontutor.com/iframe-embed.html', myArgs, 2 /* clobber all */); + var iframeStr = ''; + $('#embedCodeOutput').val(iframeStr); + }); +}); + diff --git a/v3/js/opt-lessons.js b/v3/js/opt-lessons.js new file mode 100644 index 000000000..4b55e59df --- /dev/null +++ b/v3/js/opt-lessons.js @@ -0,0 +1,118 @@ +/* + +Online Python Tutor +https://github.com/pgbovine/OnlinePythonTutor/ + +Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +*/ + + +// Pre-reqs: pytutor.js and jquery.ba-bbq.min.js should be imported BEFORE this file + +var backend_script = 'exec'; // URL of backend script, which must eventually call pg_logger.py + +var myVisualizer = null; // singleton ExecutionVisualizer instance + +var lessonScript = null; +var metadataJSON = null; + +function parseLessonFile(dat) { + var toks = dat.split('======'); + + // globals + lessonScript = toks[0].rtrim(); + metadataJSON = $.parseJSON(toks[1]); + + $('#lessonTitle').html(metadataJSON.title); + $('#lessonDescription').html(metadataJSON.description); + + document.title = metadataJSON.title + ' - Online Python Tutor (v3)'; + + $.get(backend_script, + {user_script : lessonScript}, + function(dataFromBackend) { + var trace = dataFromBackend.trace; + + // don't enter visualize mode if there are killer errors: + if (!trace || + (trace.length == 0) || + (trace[trace.length - 1].event == 'uncaught_exception')) { + + if (trace.length == 1) { + alert(trace[0].exception_msg); + } + else { + alert("Whoa, unknown error! Reload to try again, or report a bug to philip@pgbovine.net\n\n(Click the 'Generate URL' button to include a unique URL in your email bug report.)"); + } + } + else { + myVisualizer = new ExecutionVisualizer('pyOutputPane', + dataFromBackend, + {embeddedMode: true, + updateOutputCallback: updateLessonNarration}); + + myVisualizer.updateOutput(); + } + }, + "json"); +} + +function updateLessonNarration(myViz) { + var curInstr = myViz.curInstr; + + assert(metadataJSON); + + var annotation = metadataJSON[curInstr + 1]; // adjust for indexing diffs + if (annotation) { + $('#lessonNarration').html(annotation); + } + else { + $('#lessonNarration').html(''); + } + + // hack from John DeNero to ensure that once a div grows it height, it + // never shrinks again + $('#lessonNarration').css('min-height', $('#lessonNarration').css('height')); +} + +$(document).ready(function() { + + //$.get("lessons/aliasing.txt", parseLessonFile); + //$.get("lessons/dive-into-python-311.txt", parseLessonFile); + //$.get("lessons/for-else.txt", parseLessonFile); + $.get("lessons/varargs.txt", parseLessonFile); + + // log a generic AJAX error handler + $(document).ajaxError(function() { + alert("Server error (possibly due to memory/resource overload)."); + }); + + + // redraw connector arrows on window resize + $(window).resize(function() { + if (myVisualizer) { + myVisualizer.redrawConnectors(); + } + }); + +}); diff --git a/v3/js/pytutor.js b/v3/js/pytutor.js new file mode 100644 index 000000000..eeff85a6e --- /dev/null +++ b/v3/js/pytutor.js @@ -0,0 +1,2282 @@ +/* + +Online Python Tutor +https://github.com/pgbovine/OnlinePythonTutor/ + +Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +*/ + + +/* To import, put this at the top of your HTML page: + + + + + + + + + + + + +*/ + + +/* Coding gotchas: + +- NEVER use naked $(__) or d3.select(__) statements to select DOM elements. + + ALWAYS use myViz.domRoot or myViz.domRootD3 for jQuery and D3, respectively. + + Otherwise things will break in weird ways when you have more than one visualization + embedded within a webpage, due to multiple matches in the global namespace. + +*/ + +var allVisualizers = []; // global array of ALL visualizers ever on the page + + +var SVG_ARROW_POLYGON = '0,3 12,3 12,0 18,5 12,10 12,7 0,7'; +var SVG_ARROW_HEIGHT = 10; // must match height of SVG_ARROW_POLYGON + +var curVisualizerID = 1; // global to uniquely identify each ExecutionVisualizer instance + +// domRootID is the string ID of the root element where to render this instance +// dat is data returned by the Python Tutor backend consisting of two fields: +// code - string of executed code +// trace - a full execution trace +// params contains optional parameters, such as: +// jumpToEnd - if non-null, jump to the very end of execution +// startingInstruction - the (zero-indexed) execution point to display upon rendering +// hideOutput - hide "Program output" display +// codeDivHeight - maximum height of #pyCodeOutputDiv (in integer pixels) +// codeDivWidth - maximum width of #pyCodeOutputDiv (in integer pixels) +// editCodeBaseURL - the base URL to visit when the user clicks 'Edit code' (if null, then 'Edit code' link hidden) +// embeddedMode - shortcut for hideOutput=true, codeDivWidth=350, codeDivHeight=400 +// updateOutputCallback - function to call (with 'this' as parameter) +// whenever this.updateOutput() is called +// (BEFORE rendering the output display) +// heightChangeCallback - function to call (with 'this' as parameter) +// whenever the HEIGHT of #dataViz changes +// redrawAllConnectorsOnHeightChange - if this is non-null, then call redrawConnectors() in ALL ExecutionVisualizer +// objects on this page whenever the height of ANY of them changes. +// (NB: This might be inefficient and overkill; use at your own discretion.) +// verticalStack - if true, then stack code display ON TOP of visualization +// (else place side-by-side) +function ExecutionVisualizer(domRootID, dat, params) { + this.curInputCode = dat.code.rtrim(); // kill trailing spaces + this.curTrace = dat.trace; + + + // optional filtering to remove redundancy ... + // ok, we're gonna filter out all trace entries of 'call' events, + // because each one contains IDENTICAL state information as the + // 'step_line' entry immediately following it. this filtering allows the + // visualization to not show as much redundancy. + this.curTrace = this.curTrace.filter(function(e) {return e.event != 'call';}); + + this.curInstr = 0; + + this.params = params; + if (!this.params) { + this.params = {}; // make it an empty object by default + } + + // needs to be unique! + this.visualizerID = curVisualizerID; + curVisualizerID++; + + + this.leftGutterSvgInitialized = false; + this.arrowOffsetY = undefined; + this.codeRowHeight = undefined; + + + // cool, we can create a separate jsPlumb instance for each visualization: + this.jsPlumbInstance = jsPlumb.getInstance({ + Endpoint: ["Dot", {radius:3}], + EndpointStyles: [{fillStyle: connectorBaseColor}, {fillstyle: null} /* make right endpoint invisible */], + Anchors: ["RightMiddle", "LeftMiddle"], + PaintStyle: {lineWidth:1, strokeStyle: connectorBaseColor}, + + // bezier curve style: + //Connector: [ "Bezier", { curviness:15 }], /* too much 'curviness' causes lines to run together */ + //Overlays: [[ "Arrow", { length: 14, width:10, foldback:0.55, location:0.35 }]], + + // state machine curve style: + Connector: [ "StateMachine" ], + Overlays: [[ "Arrow", { length: 10, width:7, foldback:0.55, location:1 }]], + EndpointHoverStyles: [{fillStyle: connectorHighlightColor}, {fillstyle: null} /* make right endpoint invisible */], + HoverPaintStyle: {lineWidth: 1, strokeStyle: connectorHighlightColor}, + }); + + + // true iff trace ended prematurely since maximum instruction limit has + // been reached + var instrLimitReached = false; + + + // the root elements for jQuery and D3 selections, respectively. + // ALWAYS use these and never use naked $(__) or d3.select(__) + this.domRoot = $('#' + domRootID); + this.domRootD3 = d3.select('#' + domRootID); + + // stick a new div.ExecutionVisualizer within domRoot and make that + // the new domRoot: + this.domRoot.html('
'); + + this.domRoot = this.domRoot.find('div.ExecutionVisualizer'); + this.domRootD3 = this.domRootD3.select('div.ExecutionVisualizer'); + + + // initialize in renderPyCodeOutput() + this.codeOutputLines = null; + this.breakpoints = null; // set of execution points to set as breakpoints + this.sortedBreakpointsList = null; // sorted and synced with breakpointLines + this.hoverBreakpoints = null; // set of breakpoints because we're HOVERING over a given line + + this.enableTransitions = false; // EXPERIMENTAL - enable transition effects + + + this.hasRendered = false; + + this.render(); // go for it! + + allVisualizers.push(this); +} + + +// create a unique ID, which is often necessary so that jsPlumb doesn't get confused +// due to multiple ExecutionVisualizer instances being displayed simultaneously +ExecutionVisualizer.prototype.generateID = function(original_id) { + // (it's safer to start names with a letter rather than a number) + return 'v' + this.visualizerID + '__' + original_id; +} + + +ExecutionVisualizer.prototype.render = function() { + if (this.hasRendered) { + alert('ERROR: You should only call render() ONCE on an ExecutionVisualizer object.'); + return; + } + + + var myViz = this; // to prevent confusion of 'this' inside of nested functions + + var codeDisplayHTML = + '
\ +
\ + \ +
\ +
\ + \ + \ + Step ? of ?\ + \ + \ +
\ +
\ +
\ +
\ + Program output:
\ + \ +
\ +
'; + + var codeVizHTML = + '
\ +
\ + \ + \ + \ + \ +
\ +
\ +
Frames
\ +
\ +
\ +
\ +
\ +
Objects
\ +
\ +
\ + '; + + + if (this.params.verticalStack) { + this.domRoot.html('
' + + codeDisplayHTML + '
' + + codeVizHTML + '
'); + } + else { + this.domRoot.html('
' + + codeDisplayHTML + '' + + codeVizHTML + '
'); + } + + + this.domRoot.find('#legendDiv') + .append(' line that has just executed') + .append('

next line to execute

'); + + myViz.domRootD3.select('svg#prevLegendArrowSVG') + .append('polygon') + .attr('points', SVG_ARROW_POLYGON) + .attr('fill', lightArrowColor); + + myViz.domRootD3.select('svg#curLegendArrowSVG') + .append('polygon') + .attr('points', SVG_ARROW_POLYGON) + .attr('fill', darkArrowColor); + + + if (this.params.editCodeBaseURL) { + var urlStr = $.param.fragment(this.params.editCodeBaseURL, + {code: this.curInputCode}, + 2); + this.domRoot.find('#editBtn').attr('href', urlStr); + } + else { + this.domRoot.find('#editCodeLinkDiv').hide(); // just hide for simplicity! + this.domRoot.find('#editBtn').attr('href', "#"); + this.domRoot.find('#editBtn').click(function(){return false;}); // DISABLE the link! + } + + + if (this.params.embeddedMode) { + this.params.hideOutput = true; // put this before hideOutput handler + + // don't override if they've already been set! + if (this.params.codeDivWidth === undefined) { + this.params.codeDivWidth = 350; + } + + if (this.params.codeDivHeight === undefined) { + this.params.codeDivHeight = 400; + } + } + + + // not enough room for these extra buttons ... + if (this.params.codeDivWidth && + this.params.codeDivWidth < 470) { + this.domRoot.find('#jmpFirstInstr').hide(); + this.domRoot.find('#jmpLastInstr').hide(); + } + + + if (this.params.codeDivWidth) { + this.domRoot.find('#pyCodeOutputDiv,#codeDisplayDiv,#pyStdout') + .css('max-width', this.params.codeDivWidth + 'px'); + + this.domRoot.find('#executionSlider') + .css('width', (this.params.codeDivWidth - 20) + 'px'); + } + + if (this.params.codeDivHeight) { + this.domRoot.find('#pyCodeOutputDiv') + .css('max-height', this.params.codeDivHeight + 'px'); + } + + + // create a persistent globals frame + // (note that we need to keep #globals_area separate from #stack for d3 to work its magic) + this.domRoot.find("#globals_area").append('
Global variables
'); + + + if (this.params.hideOutput) { + this.domRoot.find('#progOutputs').hide(); + } + + this.domRoot.find("#jmpFirstInstr").click(function() { + myViz.curInstr = 0; + myViz.updateOutput(); + }); + + this.domRoot.find("#jmpLastInstr").click(function() { + myViz.curInstr = myViz.curTrace.length - 1; + myViz.updateOutput(); + }); + + this.domRoot.find("#jmpStepBack").click(function() { + myViz.stepBack(); + }); + + this.domRoot.find("#jmpStepFwd").click(function() { + myViz.stepForward(); + }); + + // disable controls initially ... + this.domRoot.find("#vcrControls #jmpFirstInstr").attr("disabled", true); + this.domRoot.find("#vcrControls #jmpStepBack").attr("disabled", true); + this.domRoot.find("#vcrControls #jmpStepFwd").attr("disabled", true); + this.domRoot.find("#vcrControls #jmpLastInstr").attr("disabled", true); + + + + // must postprocess curTrace prior to running precomputeCurTraceLayouts() ... + var lastEntry = this.curTrace[this.curTrace.length - 1]; + + this.instrLimitReached = (lastEntry.event == 'instruction_limit_reached'); + + if (this.instrLimitReached) { + this.curTrace.pop() // kill last entry + var warningMsg = lastEntry.exception_msg; + myViz.domRoot.find("#errorOutput").html(htmlspecialchars(warningMsg)); + myViz.domRoot.find("#errorOutput").show(); + } + + // set up slider after postprocessing curTrace + + var sliderDiv = this.domRoot.find('#executionSlider'); + sliderDiv.slider({min: 0, max: this.curTrace.length - 1, step: 1}); + //disable keyboard actions on the slider itself (to prevent double-firing of events) + sliderDiv.find(".ui-slider-handle").unbind('keydown'); + // make skinnier and taller + sliderDiv.find(".ui-slider-handle").css('width', '0.8em'); + sliderDiv.find(".ui-slider-handle").css('height', '1.4em'); + this.domRoot.find(".ui-widget-content").css('font-size', '0.9em'); + + this.domRoot.find('#executionSlider').bind('slide', function(evt, ui) { + // this is SUPER subtle. if this value was changed programmatically, + // then evt.originalEvent will be undefined. however, if this value + // was changed by a user-initiated event, then this code should be + // executed ... + if (evt.originalEvent) { + myViz.curInstr = ui.value; + myViz.updateOutput(); + } + }); + + + if (this.params.startingInstruction) { + assert(0 <= this.params.startingInstruction && + this.params.startingInstruction < this.curTrace.length); + this.curInstr = this.params.startingInstruction; + } + + if (this.params.jumpToEnd) { + this.curInstr = this.curTrace.length - 1; + } + + + this.precomputeCurTraceLayouts(); + + this.renderPyCodeOutput(); + + this.updateOutput(); + + this.hasRendered = true; +} + + +// find the previous/next breakpoint to c or return -1 if it doesn't exist +ExecutionVisualizer.prototype.findPrevBreakpoint = function() { + var myViz = this; + var c = myViz.curInstr; + + if (myViz.sortedBreakpointsList.length == 0) { + return -1; + } + else { + for (var i = 1; i < myViz.sortedBreakpointsList.length; i++) { + var prev = myViz.sortedBreakpointsList[i-1]; + var cur = myViz.sortedBreakpointsList[i]; + if (c <= prev) + return -1; + if (cur >= c) + return prev; + } + + // final edge case: + var lastElt = myViz.sortedBreakpointsList[myViz.sortedBreakpointsList.length - 1]; + return (lastElt < c) ? lastElt : -1; + } +} + +ExecutionVisualizer.prototype.findNextBreakpoint = function() { + var myViz = this; + var c = myViz.curInstr; + + if (myViz.sortedBreakpointsList.length == 0) { + return -1; + } + // usability hack: if you're currently on a breakpoint, then + // single-step forward to the next execution point, NOT the next + // breakpoint. it's often useful to see what happens when the line + // at a breakpoint executes. + else if ($.inArray(c, myViz.sortedBreakpointsList) >= 0) { + return c + 1; + } + else { + for (var i = 0; i < myViz.sortedBreakpointsList.length - 1; i++) { + var cur = myViz.sortedBreakpointsList[i]; + var next = myViz.sortedBreakpointsList[i+1]; + if (c < cur) + return cur; + if (cur <= c && c < next) // subtle + return next; + } + + // final edge case: + var lastElt = myViz.sortedBreakpointsList[myViz.sortedBreakpointsList.length - 1]; + return (lastElt > c) ? lastElt : -1; + } +} + + +// returns true if action successfully taken +ExecutionVisualizer.prototype.stepForward = function() { + var myViz = this; + + if (myViz.curInstr < myViz.curTrace.length - 1) { + // if there is a next breakpoint, then jump to it ... + if (myViz.sortedBreakpointsList.length > 0) { + var nextBreakpoint = myViz.findNextBreakpoint(); + if (nextBreakpoint != -1) + myViz.curInstr = nextBreakpoint; + else + myViz.curInstr += 1; // prevent "getting stuck" on a solitary breakpoint + } + else { + myViz.curInstr += 1; + } + myViz.updateOutput(true); + return true; + } + + return false; +} + +// returns true if action successfully taken +ExecutionVisualizer.prototype.stepBack = function() { + var myViz = this; + + if (myViz.curInstr > 0) { + // if there is a prev breakpoint, then jump to it ... + if (myViz.sortedBreakpointsList.length > 0) { + var prevBreakpoint = myViz.findPrevBreakpoint(); + if (prevBreakpoint != -1) + myViz.curInstr = prevBreakpoint; + else + myViz.curInstr -= 1; // prevent "getting stuck" on a solitary breakpoint + } + else { + myViz.curInstr -= 1; + } + myViz.updateOutput(); + return true; + } + + return false; +} + + +ExecutionVisualizer.prototype.renderPyCodeOutput = function() { + var myViz = this; // to prevent confusion of 'this' inside of nested functions + + + // initialize! + this.breakpoints = d3.map(); + this.sortedBreakpointsList = []; + this.hoverBreakpoints = d3.map(); + + // an array of objects with the following fields: + // 'text' - the text of the line of code + // 'lineNumber' - one-indexed (always the array index + 1) + // 'executionPoints' - an ordered array of zero-indexed execution points where this line was executed + // 'breakpointHere' - has a breakpoint been set here? + this.codeOutputLines = []; + + + function renderSliderBreakpoints() { + myViz.domRoot.find("#executionSliderFooter").empty(); + + // I originally didn't want to delete and re-create this overlay every time, + // but if I don't do so, there are weird flickering artifacts with clearing + // the SVG container; so it's best to just delete and re-create the container each time + var sliderOverlay = myViz.domRootD3.select('#executionSliderFooter') + .append('svg') + .attr('id', 'sliderOverlay') + .attr('width', myViz.domRoot.find('#executionSlider').width()) + .attr('height', 12); + + var xrange = d3.scale.linear() + .domain([0, myViz.curTrace.length - 1]) + .range([0, myViz.domRoot.find('#executionSlider').width()]); + + sliderOverlay.selectAll('rect') + .data(myViz.sortedBreakpointsList) + .enter().append('rect') + .attr('x', function(d, i) { + // make the edge cases look decent + if (d == 0) { + return 0; + } + else { + return xrange(d) - 3; + } + }) + .attr('y', 0) + .attr('width', 2) + .attr('height', 12) + .style('fill', function(d) { + if (myViz.hoverBreakpoints.has(d)) { + return hoverBreakpointColor; + } + else { + return breakpointColor; + } + }); + } + + function _getSortedBreakpointsList() { + var ret = []; + myViz.breakpoints.forEach(function(k, v) { + ret.push(Number(k)); // these should be NUMBERS, not strings + }); + ret.sort(function(x,y){return x-y}); // WTF, javascript sort is lexicographic by default! + return ret; + } + + function addToBreakpoints(executionPoints) { + $.each(executionPoints, function(i, ep) { + myViz.breakpoints.set(ep, 1); + }); + myViz.sortedBreakpointsList = _getSortedBreakpointsList(); + } + + function removeFromBreakpoints(executionPoints) { + $.each(executionPoints, function(i, ep) { + myViz.breakpoints.remove(ep); + }); + myViz.sortedBreakpointsList = _getSortedBreakpointsList(); + } + + + function setHoverBreakpoint(t) { + var exePts = d3.select(t).datum().executionPoints; + + // don't do anything if exePts is empty + // (i.e., this line was never executed) + if (!exePts || exePts.length == 0) { + return; + } + + myViz.hoverBreakpoints = d3.map(); + $.each(exePts, function(i, ep) { + // don't add redundant entries + if (!myViz.breakpoints.has(ep)) { + myViz.hoverBreakpoints.set(ep, 1); + } + }); + + addToBreakpoints(exePts); + renderSliderBreakpoints(); + } + + + function setBreakpoint(t) { + var exePts = d3.select(t).datum().executionPoints; + + // don't do anything if exePts is empty + // (i.e., this line was never executed) + if (!exePts || exePts.length == 0) { + return; + } + + addToBreakpoints(exePts); + + // remove from hoverBreakpoints so that slider display immediately changes color + $.each(exePts, function(i, ep) { + myViz.hoverBreakpoints.remove(ep); + }); + + d3.select(t.parentNode).select('td.lineNo').style('color', breakpointColor); + d3.select(t.parentNode).select('td.lineNo').style('font-weight', 'bold'); + + renderSliderBreakpoints(); + } + + function unsetBreakpoint(t) { + var exePts = d3.select(t).datum().executionPoints; + + // don't do anything if exePts is empty + // (i.e., this line was never executed) + if (!exePts || exePts.length == 0) { + return; + } + + removeFromBreakpoints(exePts); + + var lineNo = d3.select(t).datum().lineNumber; + + renderSliderBreakpoints(); + } + + var lines = this.curInputCode.split('\n'); + + for (var i = 0; i < lines.length; i++) { + var cod = lines[i]; + + var n = {}; + n.text = cod; + n.lineNumber = i + 1; + n.executionPoints = []; + n.breakpointHere = false; + + $.each(this.curTrace, function(j, elt) { + if (elt.line == n.lineNumber) { + n.executionPoints.push(j); + } + }); + + + // if there is a comment containing 'breakpoint' and this line was actually executed, + // then set a breakpoint on this line + var breakpointInComment = false; + var toks = cod.split('#'); + for (var j = 1 /* start at index 1, not 0 */; j < toks.length; j++) { + if (toks[j].indexOf('breakpoint') != -1) { + breakpointInComment = true; + } + } + + if (breakpointInComment && n.executionPoints.length > 0) { + n.breakpointHere = true; + addToBreakpoints(n.executionPoints); + } + + this.codeOutputLines.push(n); + } + + + myViz.domRoot.find('#pyCodeOutputDiv').empty(); + + // maps this.codeOutputLines to both table columns + var codeOutputD3 = this.domRootD3.select('#pyCodeOutputDiv') + .append('table') + .attr('id', 'pyCodeOutput') + .selectAll('tr') + .data(this.codeOutputLines) + .enter().append('tr') + .selectAll('td') + .data(function(d, i){return [d, d] /* map full data item down both columns */;}) + .enter().append('td') + .attr('class', function(d, i) { + if (i == 0) { + return 'lineNo'; + } + else { + return 'cod'; + } + }) + .attr('id', function(d, i) { + if (i == 0) { + return 'lineNo' + d.lineNumber; + } + else { + return myViz.generateID('cod' + d.lineNumber); // make globally unique (within the page) + } + }) + .html(function(d, i) { + if (i == 0) { + return d.lineNumber; + } + else { + return htmlspecialchars(d.text); + } + }); + + // create a left-most gutter td that spans ALL rows ... + // (NB: valign="top" is CRUCIAL for this to work in IE) + myViz.domRoot.find('#pyCodeOutput tr:first') + .prepend(''); + + // create prevLineArrow and curLineArrow + myViz.domRootD3.select('svg#leftCodeGutterSVG') + .append('polygon') + .attr('id', 'prevLineArrow') + .attr('points', SVG_ARROW_POLYGON) + .attr('fill', lightArrowColor); + + myViz.domRootD3.select('svg#leftCodeGutterSVG') + .append('polygon') + .attr('id', 'curLineArrow') + .attr('points', SVG_ARROW_POLYGON) + .attr('fill', darkArrowColor); + + + // 2012-09-05: Disable breakpoints for now to simplify UX + /* + if (!this.params.embeddedMode) { + codeOutputD3.style('cursor', function(d, i) {return 'pointer'}) + .on('mouseover', function() { + setHoverBreakpoint(this); + }) + .on('mouseout', function() { + myViz.hoverBreakpoints = d3.map(); + + var breakpointHere = d3.select(this).datum().breakpointHere; + + if (!breakpointHere) { + unsetBreakpoint(this); + } + + renderSliderBreakpoints(); // get rid of hover breakpoint colors + }) + .on('mousedown', function() { + // don't do anything if exePts is empty + // (i.e., this line was never executed) + var exePts = d3.select(this).datum().executionPoints; + if (!exePts || exePts.length == 0) { + return; + } + + // toggle breakpoint + d3.select(this).datum().breakpointHere = !d3.select(this).datum().breakpointHere; + + var breakpointHere = d3.select(this).datum().breakpointHere; + if (breakpointHere) { + setBreakpoint(this); + } + else { + unsetBreakpoint(this); + } + }); + + renderSliderBreakpoints(); // renders breakpoints written in as code comments + } + */ + +} + + +// This function is called every time the display needs to be updated +// smoothTransition is OPTIONAL! +ExecutionVisualizer.prototype.updateOutput = function(smoothTransition) { + assert(this.curTrace); + + var myViz = this; // to prevent confusion of 'this' inside of nested functions + + // there's no point in re-rendering if this pane isn't even visible in the first place! + if (!myViz.domRoot.is(':visible')) { + return; + } + + var prevDataVizHeight = myViz.domRoot.find('#dataViz').height(); + + + var gutterSVG = myViz.domRoot.find('svg#leftCodeGutterSVG'); + + // one-time initialization of the left gutter + // (we often can't do this earlier since the entire pane + // might be invisible and hence returns a height of zero or NaN + // -- the exact format depends on browser) + if (!myViz.leftGutterSvgInitialized) { + // set the gutter's height to match that of its parent + gutterSVG.height(gutterSVG.parent().height()); + + var firstRowOffsetY = myViz.domRoot.find('table#pyCodeOutput tr:first').offset().top; + + // first take care of edge case when there's only one line ... + myViz.codeRowHeight = myViz.domRoot.find('table#pyCodeOutput td.cod:first').height(); + + // ... then handle the (much more common) multi-line case ... + // this weird contortion is necessary to get the accurate row height on Internet Explorer + // (simpler methods work on all other major browsers, erghhhhhh!!!) + if (this.codeOutputLines && this.codeOutputLines.length > 1) { + var secondRowOffsetY = myViz.domRoot.find('table#pyCodeOutput tr:nth-child(2)').offset().top; + myViz.codeRowHeight = secondRowOffsetY - firstRowOffsetY; + } + + assert(myViz.codeRowHeight > 0); + + var gutterOffsetY = gutterSVG.offset().top; + var teenyAdjustment = gutterOffsetY - firstRowOffsetY; + + // super-picky detail to adjust the vertical alignment of arrows so that they line up + // well with the pointed-to code text ... + // (if you want to manually adjust tableTop, then ~5 is a reasonable number) + myViz.arrowOffsetY = Math.floor((myViz.codeRowHeight / 2) - (SVG_ARROW_HEIGHT / 2)) - teenyAdjustment; + + myViz.leftGutterSvgInitialized = true; + } + + assert(myViz.arrowOffsetY !== undefined); + assert(myViz.codeRowHeight !== undefined); + assert(0 <= myViz.arrowOffsetY && myViz.arrowOffsetY <= myViz.codeRowHeight); + + // call the callback if necessary (BEFORE rendering) + if (this.params.updateOutputCallback) { + this.params.updateOutputCallback(this); + } + + + var curEntry = this.curTrace[this.curInstr]; + var hasError = false; + + // render VCR controls: + var totalInstrs = this.curTrace.length; + + var isLastInstr = (this.curInstr == (totalInstrs-1)); + + var vcrControls = myViz.domRoot.find("#vcrControls"); + + // to be user-friendly, if we're on the LAST instruction, print "Program terminated" + if (isLastInstr) { + if (this.instrLimitReached) { + vcrControls.find("#curInstr").html("Instruction limit reached"); + } + else { + vcrControls.find("#curInstr").html("Program terminated"); + } + } + else { + vcrControls.find("#curInstr").html("Step " + + String(this.curInstr + 1) + + " of " + String(totalInstrs-1)); + } + + + vcrControls.find("#jmpFirstInstr").attr("disabled", false); + vcrControls.find("#jmpStepBack").attr("disabled", false); + vcrControls.find("#jmpStepFwd").attr("disabled", false); + vcrControls.find("#jmpLastInstr").attr("disabled", false); + + if (this.curInstr == 0) { + vcrControls.find("#jmpFirstInstr").attr("disabled", true); + vcrControls.find("#jmpStepBack").attr("disabled", true); + } + if (isLastInstr) { + vcrControls.find("#jmpLastInstr").attr("disabled", true); + vcrControls.find("#jmpStepFwd").attr("disabled", true); + } + + + // PROGRAMMATICALLY change the value, so evt.originalEvent should be undefined + myViz.domRoot.find('#executionSlider').slider('value', this.curInstr); + + + // render error (if applicable): + if (curEntry.event == 'exception' || + curEntry.event == 'uncaught_exception') { + assert(curEntry.exception_msg); + + if (curEntry.exception_msg == "Unknown error") { + myViz.domRoot.find("#errorOutput").html('Unknown error: Please email a bug report to philip@pgbovine.net'); + } + else { + myViz.domRoot.find("#errorOutput").html(htmlspecialchars(curEntry.exception_msg)); + } + + myViz.domRoot.find("#errorOutput").show(); + + hasError = true; + } + else { + if (!this.instrLimitReached) { // ugly, I know :/ + myViz.domRoot.find("#errorOutput").hide(); + } + } + + + function highlightCodeLine() { + /* if instrLimitReached, then treat like a normal non-terminating line */ + var isTerminated = (!myViz.instrLimitReached && isLastInstr); + + var pcod = myViz.domRoot.find('#pyCodeOutputDiv'); + + var curLineNumber = null; + var prevLineNumber = null; + + var curIsReturn = (curEntry.event == 'return'); + var prevIsReturn = false; + + + if (myViz.curInstr > 0) { + prevLineNumber = myViz.curTrace[myViz.curInstr - 1].line; + prevIsReturn = (myViz.curTrace[myViz.curInstr - 1].event == 'return'); + } + + curLineNumber = curEntry.line; + + // on 'return' events, give a bit more of a vertical nudge to show that + // the arrow is aligned with the 'bottom' of the line ... + var prevVerticalNudge = prevIsReturn ? Math.floor(myViz.codeRowHeight / 2) : 0; + var curVerticalNudge = curIsReturn ? Math.floor(myViz.codeRowHeight / 2) : 0; + + + // edge case for the final instruction :0 + if (isTerminated && !hasError) { + // don't show redundant arrows on the same line when terminated ... + if (prevLineNumber == curLineNumber) { + curLineNumber = null; + } + // otherwise have a smaller vertical nudge (to fit at bottom of display table) + else { + curVerticalNudge = curVerticalNudge - 2; + } + } + + if (prevLineNumber) { + var pla = myViz.domRootD3.select('#prevLineArrow'); + var translatePrevCmd = 'translate(0, ' + (((prevLineNumber - 1) * myViz.codeRowHeight) + myViz.arrowOffsetY + prevVerticalNudge) + ')'; + + if (smoothTransition) { + pla + .transition() + .duration(200) + .attr('fill', 'white') + .each('end', function() { + pla + .attr('transform', translatePrevCmd) + .attr('fill', lightArrowColor); + + gutterSVG.find('#prevLineArrow').show(); // show at the end to avoid flickering + }); + } + else { + pla.attr('transform', translatePrevCmd) + gutterSVG.find('#prevLineArrow').show(); + } + + } + else { + gutterSVG.find('#prevLineArrow').hide(); + } + + if (curLineNumber) { + var cla = myViz.domRootD3.select('#curLineArrow'); + var translateCurCmd = 'translate(0, ' + (((curLineNumber - 1) * myViz.codeRowHeight) + myViz.arrowOffsetY + curVerticalNudge) + ')'; + + if (smoothTransition) { + cla + .transition() + .delay(200) + .duration(250) + .attr('transform', translateCurCmd); + } + else { + cla.attr('transform', translateCurCmd); + } + + gutterSVG.find('#curLineArrow').show(); + } + else { + gutterSVG.find('#curLineArrow').hide(); + } + + + myViz.domRootD3.selectAll('#pyCodeOutputDiv td.cod') + .style('border-top', function(d) { + if (hasError && (d.lineNumber == curEntry.line)) { + return '1px solid ' + errorColor; + } + else { + return ''; + } + }) + .style('border-bottom', function(d) { + // COPY AND PASTE ALERT! + if (hasError && (d.lineNumber == curEntry.line)) { + return '1px solid ' + errorColor; + } + else { + return ''; + } + }); + + // returns True iff lineNo is visible in pyCodeOutputDiv + function isOutputLineVisible(lineNo) { + var lineNoTd = myViz.domRoot.find('#lineNo' + lineNo); + var LO = lineNoTd.offset().top; + + var PO = pcod.offset().top; + var ST = pcod.scrollTop(); + var H = pcod.height(); + + // add a few pixels of fudge factor on the bottom end due to bottom scrollbar + return (PO <= LO) && (LO < (PO + H - 30)); + } + + + // smoothly scroll pyCodeOutputDiv so that the given line is at the center + function scrollCodeOutputToLine(lineNo) { + var lineNoTd = myViz.domRoot.find('#lineNo' + lineNo); + var LO = lineNoTd.offset().top; + + var PO = pcod.offset().top; + var ST = pcod.scrollTop(); + var H = pcod.height(); + + pcod.stop(); // first stop all previously-queued animations + pcod.animate({scrollTop: (ST + (LO - PO - (Math.round(H / 2))))}, 300); + } + + + // smoothly scroll code display + if (!isOutputLineVisible(curEntry.line)) { + scrollCodeOutputToLine(curEntry.line); + } + } + + + // render code output: + if (curEntry.line) { + highlightCodeLine(); + } + + + // render stdout: + + // keep original horizontal scroll level: + var oldLeft = myViz.domRoot.find("#pyStdout").scrollLeft(); + myViz.domRoot.find("#pyStdout").val(curEntry.stdout); + + myViz.domRoot.find("#pyStdout").scrollLeft(oldLeft); + // scroll to bottom, though: + myViz.domRoot.find("#pyStdout").scrollTop(myViz.domRoot.find("#pyStdout")[0].scrollHeight); + + + // finally, render all of the data structures + this.renderDataStructures(); + + + // call the callback if necessary (BEFORE rendering) + if (myViz.domRoot.find('#dataViz').height() != prevDataVizHeight) { + if (this.params.heightChangeCallback) { + this.params.heightChangeCallback(this); + } + + if (this.params.redrawAllConnectorsOnHeightChange) { + $.each(allVisualizers, function(i, e) { + e.redrawConnectors(); + }); + } + } + +} + + +// Pre-compute the layout of top-level heap objects for ALL execution +// points as soon as a trace is first loaded. The reason why we want to +// do this is so that when the user steps through execution points, the +// heap objects don't "jiggle around" (i.e., preserving positional +// invariance). Also, if we set up the layout objects properly, then we +// can take full advantage of d3 to perform rendering and transitions. + +ExecutionVisualizer.prototype.precomputeCurTraceLayouts = function() { + + // curTraceLayouts is a list of top-level heap layout "objects" with the + // same length as curTrace after it's been fully initialized. Each + // element of curTraceLayouts is computed from the contents of its + // immediate predecessor, thus ensuring that objects don't "jiggle + // around" between consecutive execution points. + // + // Each top-level heap layout "object" is itself a LIST of LISTS of + // object IDs, where each element of the outer list represents a row, + // and each element of the inner list represents columns within a + // particular row. Each row can have a different number of columns. Most + // rows have exactly ONE column (representing ONE object ID), but rows + // containing 1-D linked data structures have multiple columns. Each + // inner list element looks something like ['row1', 3, 2, 1] where the + // first element is a unique row ID tag, which is used as a key for d3 to + // preserve "object constancy" for updates, transitions, etc. The row ID + // is derived from the FIRST object ID inserted into the row. Since all + // object IDs are unique, all row IDs will also be unique. + + /* This is a good, simple example to test whether objects "jiggle" + + x = [1, [2, [3, None]]] + y = [4, [5, [6, None]]] + + x[1][1] = y[1] + + */ + this.curTraceLayouts = []; + this.curTraceLayouts.push([]); // pre-seed with an empty sentinel to simplify the code + + assert(this.curTrace.length > 0); + + var myViz = this; // to prevent confusion of 'this' inside of nested functions + + + $.each(this.curTrace, function(i, curEntry) { + var prevLayout = myViz.curTraceLayouts[myViz.curTraceLayouts.length - 1]; + + // make a DEEP COPY of prevLayout to use as the basis for curLine + var curLayout = $.extend(true /* deep copy */ , [], prevLayout); + + // initialize with all IDs from curLayout + var idsToRemove = d3.map(); + $.each(curLayout, function(i, row) { + for (var j = 1 /* ignore row ID tag */; j < row.length; j++) { + idsToRemove.set(row[j], 1); + } + }); + + var idsAlreadyLaidOut = d3.map(); // to prevent infinite recursion + + + function curLayoutIndexOf(id) { + for (var i = 0; i < curLayout.length; i++) { + var row = curLayout[i]; + var index = row.indexOf(id); + if (index > 0) { // index of 0 is impossible since it's the row ID tag + return {row: row, index: index} + } + } + return null; + } + + + function recurseIntoObject(id, curRow, newRow) { + + // heuristic for laying out 1-D linked data structures: check for enclosing elements that are + // structurally identical and then lay them out as siblings in the same "row" + var heapObj = curEntry.heap[id]; + assert(heapObj); + + if (heapObj[0] == 'LIST' || heapObj[0] == 'TUPLE') { + $.each(heapObj, function(ind, child) { + if (ind < 1) return; // skip type tag + + if (!isPrimitiveType(child)) { + var childID = getRefID(child); + if (structurallyEquivalent(heapObj, curEntry.heap[childID])) { + updateCurLayout(childID, curRow, newRow); + } + } + }); + } + else if (heapObj[0] == 'DICT') { + $.each(heapObj, function(ind, child) { + if (ind < 1) return; // skip type tag + + var dictVal = child[1]; + if (!isPrimitiveType(dictVal)) { + var childID = getRefID(dictVal); + if (structurallyEquivalent(heapObj, curEntry.heap[childID])) { + updateCurLayout(childID, curRow, newRow); + } + } + }); + } + else if (heapObj[0] == 'INSTANCE') { + jQuery.each(heapObj, function(ind, child) { + if (ind < 2) return; // skip type tag and class name + + // instance keys are always strings, so no need to recurse + assert(typeof child[0] == "string"); + + var instVal = child[1]; + if (!isPrimitiveType(instVal)) { + var childID = getRefID(instVal); + if (structurallyEquivalent(heapObj, curEntry.heap[childID])) { + updateCurLayout(childID, curRow, newRow); + } + } + }); + } + } + + + // a krazy function! + // id - the new object ID to be inserted somewhere in curLayout + // (if it's not already in there) + // curRow - a row within curLayout where new linked list + // elements can be appended onto (might be null) + // newRow - a new row that might be spliced into curRow or appended + // as a new row in curLayout + function updateCurLayout(id, curRow, newRow) { + if (idsAlreadyLaidOut.has(id)) { + return; // PUNT! + } + + var curLayoutLoc = curLayoutIndexOf(id); + + var alreadyLaidOut = idsAlreadyLaidOut.has(id); + idsAlreadyLaidOut.set(id, 1); // unconditionally set now + + // if id is already in curLayout ... + if (curLayoutLoc) { + var foundRow = curLayoutLoc.row; + var foundIndex = curLayoutLoc.index; + + idsToRemove.remove(id); // this id is already accounted for! + + // very subtle ... if id hasn't already been handled in + // this iteration, then splice newRow into foundRow. otherwise + // (later) append newRow onto curLayout as a truly new row + if (!alreadyLaidOut) { + // splice the contents of newRow right BEFORE foundIndex. + // (Think about when you're trying to insert in id=3 into ['row1', 2, 1] + // to represent a linked list 3->2->1. You want to splice the 3 + // entry right before the 2 to form ['row1', 3, 2, 1]) + if (newRow.length > 1) { + var args = [foundIndex, 0]; + for (var i = 1; i < newRow.length; i++) { // ignore row ID tag + args.push(newRow[i]); + idsToRemove.remove(newRow[i]); + } + foundRow.splice.apply(foundRow, args); + + // remove ALL elements from newRow since they've all been accounted for + // (but don't reassign it away to an empty list, since the + // CALLER checks its value. TODO: how to get rid of this gross hack?!?) + newRow.splice(0, newRow.length); + } + } + + // recurse to find more top-level linked entries to append onto foundRow + recurseIntoObject(id, foundRow, []); + } + else { + // push id into newRow ... + if (newRow.length == 0) { + newRow.push('row' + id); // unique row ID (since IDs are unique) + } + newRow.push(id); + + // recurse to find more top-level linked entries ... + recurseIntoObject(id, curRow, newRow); + + + // if newRow hasn't been spliced into an existing row yet during + // a child recursive call ... + if (newRow.length > 0) { + if (curRow && curRow.length > 0) { + // append onto the END of curRow if it exists + for (var i = 1; i < newRow.length; i++) { // ignore row ID tag + curRow.push(newRow[i]); + } + } + else { + // otherwise push to curLayout as a new row + // + // TODO: this might not always look the best, since we might + // sometimes want to splice newRow in the MIDDLE of + // curLayout. Consider this example: + // + // x = [1,2,3] + // y = [4,5,6] + // x = [7,8,9] + // + // when the third line is executed, the arrows for x and y + // will be crossed (ugly!) since the new row for the [7,8,9] + // object is pushed to the end (bottom) of curLayout. The + // proper behavior is to push it to the beginning of + // curLayout where the old row for 'x' used to be. + curLayout.push($.extend(true /* make a deep copy */ , [], newRow)); + } + + // regardless, newRow is now accounted for, so clear it + for (var i = 1; i < newRow.length; i++) { // ignore row ID tag + idsToRemove.remove(newRow[i]); + } + newRow.splice(0, newRow.length); // kill it! + } + + } + } + + + // iterate through all globals and ordered stack frames and call updateCurLayout + $.each(curEntry.ordered_globals, function(i, varname) { + var val = curEntry.globals[varname]; + if (val !== undefined) { // might not be defined at this line, which is OKAY! + if (!isPrimitiveType(val)) { + var id = getRefID(val); + updateCurLayout(id, null, []); + } + } + }); + + $.each(curEntry.stack_to_render, function(i, frame) { + $.each(frame.ordered_varnames, function(xxx, varname) { + var val = frame.encoded_locals[varname]; + + if (!isPrimitiveType(val)) { + var id = getRefID(val); + updateCurLayout(id, null, []); + } + }); + }); + + + // iterate through remaining elements of idsToRemove and REMOVE them from curLayout + idsToRemove.forEach(function(id, xxx) { + id = Number(id); // keys are stored as strings, so convert!!! + $.each(curLayout, function(rownum, row) { + var ind = row.indexOf(id); + if (ind > 0) { // remember that index 0 of the row is the row ID tag + row.splice(ind, 1); + } + }); + }); + + // now remove empty rows (i.e., those with only a row ID tag) from curLayout + curLayout = curLayout.filter(function(row) {return row.length > 1}); + + myViz.curTraceLayouts.push(curLayout); + }); + + this.curTraceLayouts.splice(0, 1); // remove seeded empty sentinel element + assert (this.curTrace.length == this.curTraceLayouts.length); +} + + +var heapPtrSrcRE = /__heap_pointer_src_/; + +// The "3.0" version of renderDataStructures renders variables in +// a stack, values in a separate heap, and draws line connectors +// to represent both stack->heap object references and, more importantly, +// heap->heap references. This version was created in August 2012. +// +// The "2.0" version of renderDataStructures renders variables in +// a stack and values in a separate heap, with data structure aliasing +// explicitly represented via line connectors (thanks to jsPlumb lib). +// This version was created in September 2011. +// +// The ORIGINAL "1.0" version of renderDataStructures +// was created in January 2010 and rendered variables and values +// INLINE within each stack frame without any explicit representation +// of data structure aliasing. That is, aliased objects were rendered +// multiple times, and a unique ID label was used to identify aliases. +ExecutionVisualizer.prototype.renderDataStructures = function() { + + var myViz = this; // to prevent confusion of 'this' inside of nested functions + + var curEntry = this.curTrace[this.curInstr]; + var curToplevelLayout = this.curTraceLayouts[this.curInstr]; + + + // Heap object rendering phase: + + + // This is VERY crude, but to prevent multiple redundant HEAP->HEAP + // connectors from being drawn with the same source and origin, we need to first + // DELETE ALL existing HEAP->HEAP connections, and then re-render all of + // them in each call to this function. The reason why we can't safely + // hold onto them is because there's no way to guarantee that the + // *__heap_pointer_src_ IDs are consistent across execution points. + myViz.jsPlumbInstance.select().each(function(c) { + if (c.sourceId.match(heapPtrSrcRE)) { + myViz.jsPlumbInstance.detachAllConnections(c.sourceId); + } + }); + + + // Key: CSS ID of the div element representing the stack frame variable + // (for stack->heap connections) or heap object (for heap->heap connections) + // the format is: '__heap_pointer_src_' + // Value: CSS ID of the div element representing the value rendered in the heap + // (the format is: '__heap_object_') + // + // The reason we need to prepend this.visualizerID is because jsPlumb needs + // GLOBALLY UNIQUE IDs for use as connector endpoints. + + // the only elements in these sets are NEW elements to be rendered in this + // particular call to renderDataStructures. + var connectionEndpointIDs = d3.map(); + var heapConnectionEndpointIDs = d3.map(); // subset of connectionEndpointIDs for heap->heap connections + + var heap_pointer_src_id = 1; // increment this to be unique for each heap_pointer_src_* + + + var renderedObjectIDs = d3.map(); + + // count everything in curToplevelLayout as already rendered since we will render them + // in d3 .each() statements + $.each(curToplevelLayout, function(xxx, row) { + for (var i = 0; i < row.length; i++) { + renderedObjectIDs.set(row[i], 1); + } + }); + + + + // use d3 to render the heap by mapping curToplevelLayout into + // and '); + var headerTr = tbl.find('tr:first'); + var contentTr = tbl.find('tr:last'); + $.each(obj, function(ind, val) { + if (ind < 1) return; // skip type tag and ID entry + + // add a new column and then pass in that newly-added column + // as d3DomElement to the recursive call to child: + headerTr.append(''); + headerTr.find('td:last').append(ind - 1); + + contentTr.append(''); + renderNestedObject(val, contentTr.find('td:last')); + }); + } + else if (obj[0] == 'SET') { + // create an R x C matrix: + var numElts = obj.length - 1; + + // gives roughly a 3x5 rectangular ratio, square is too, err, + // 'square' and boring + var numRows = Math.round(Math.sqrt(numElts)); + if (numRows > 3) { + numRows -= 1; + } + + var numCols = Math.round(numElts / numRows); + // round up if not a perfect multiple: + if (numElts % numRows) { + numCols += 1; + } + + jQuery.each(obj, function(ind, val) { + if (ind < 1) return; // skip 'SET' tag + + if (((ind - 1) % numCols) == 0) { + tbl.append(''); + } + + var curTr = tbl.find('tr:last'); + curTr.append(''); + renderNestedObject(val, curTr.find('td:last')); + }); + } + else if (obj[0] == 'DICT') { + $.each(obj, function(ind, kvPair) { + if (ind < 1) return; // skip 'DICT' tag + + tbl.append(''); + var newRow = tbl.find('tr:last'); + var keyTd = newRow.find('td:first'); + var valTd = newRow.find('td:last'); + + var key = kvPair[0]; + var val = kvPair[1]; + + renderNestedObject(key, keyTd); + renderNestedObject(val, valTd); + }); + } + } + } + else if (obj[0] == 'INSTANCE' || obj[0] == 'CLASS') { + var isInstance = (obj[0] == 'INSTANCE'); + var headerLength = isInstance ? 2 : 3; + + assert(obj.length >= headerLength); + + if (isInstance) { + d3DomElement.append('
' + obj[1] + ' instance
'); + } + else { + var superclassStr = ''; + if (obj[2].length > 0) { + superclassStr += ('[extends ' + obj[2].join(', ') + '] '); + } + d3DomElement.append('
' + obj[1] + ' class ' + superclassStr + '
'); + } + + if (obj.length > headerLength) { + var lab = isInstance ? 'inst' : 'class'; + d3DomElement.append('
elements + + var heapRows = myViz.domRootD3.select('#heap') + .selectAll('table.heapRow') + .data(curToplevelLayout, function(objLst) { + return objLst[0]; // return first element, which is the row ID tag + }); + + + // insert new heap rows + heapRows.enter().append('table') + //.each(function(objLst, i) {console.log('NEW ROW:', objLst, i);}) + .attr('class', 'heapRow'); + + // delete a heap row + var hrExit = heapRows.exit(); + + if (myViz.enableTransitions) { + hrExit + .style('opacity', '1') + .transition() + .style('opacity', '0') + .duration(500) + .each('end', function() { + hrExit.remove(); + myViz.redrawConnectors(); + }); + } + else { + hrExit.remove(); + } + + + // update an existing heap row + var toplevelHeapObjects = heapRows + //.each(function(objLst, i) { console.log('UPDATE ROW:', objLst, i); }) + .selectAll('td.toplevelHeapObject') + .data(function(d, i) {return d.slice(1, d.length);}, /* map over each row, skipping row ID tag */ + function(objID) {return objID;} /* each object ID is unique for constancy */); + + // insert a new toplevelHeapObject + var tlhEnter = toplevelHeapObjects.enter().append('td') + .attr('class', 'toplevelHeapObject') + .attr('id', function(d, i) {return 'toplevel_heap_object_' + d;}); + + if (myViz.enableTransitions) { + tlhEnter + .style('opacity', '0') + .style('border-color', 'red') + .transition() + .style('opacity', '1') /* fade in */ + .duration(700) + .each('end', function() { + tlhEnter.transition() + .style('border-color', 'white') /* kill border */ + .duration(300) + }); + } + + // remember that the enter selection is added to the update + // selection so that we can process it later ... + + // update a toplevelHeapObject + toplevelHeapObjects + .order() // VERY IMPORTANT to put in the order corresponding to data elements + .each(function(objID, i) { + //console.log('NEW/UPDATE ELT', objID); + + // TODO: add a smoother transition in the future + // Right now, just delete the old element and render a new one in its place + $(this).empty(); + renderCompoundObject(objID, $(this), true); + }); + + // delete a toplevelHeapObject + var tlhExit = toplevelHeapObjects.exit(); + + if (myViz.enableTransitions) { + tlhExit.transition() + .style('opacity', '0') /* fade out */ + .duration(500) + .each('end', function() { + tlhExit.remove(); + myViz.redrawConnectors(); + }); + } + else { + tlhExit.remove(); + } + + + function renderNestedObject(obj, d3DomElement) { + if (isPrimitiveType(obj)) { + renderPrimitiveObject(obj, d3DomElement); + } + else { + renderCompoundObject(getRefID(obj), d3DomElement, false); + } + } + + + function renderPrimitiveObject(obj, d3DomElement) { + var typ = typeof obj; + + if (obj == null) { + d3DomElement.append('None'); + } + else if (typ == "number") { + d3DomElement.append('' + obj + ''); + } + else if (typ == "boolean") { + if (obj) { + d3DomElement.append('True'); + } + else { + d3DomElement.append('False'); + } + } + else if (typ == "string") { + // escape using htmlspecialchars to prevent HTML/script injection + var literalStr = htmlspecialchars(obj); + + // print as a double-quoted string literal + literalStr = literalStr.replace(new RegExp('\"', 'g'), '\\"'); // replace ALL + literalStr = '"' + literalStr + '"'; + + d3DomElement.append('' + literalStr + ''); + } + else { + assert(false); + } + } + + + function renderCompoundObject(objID, d3DomElement, isTopLevel) { + if (!isTopLevel && renderedObjectIDs.has(objID)) { + // render jsPlumb arrow source since this heap object has already been rendered + // (or will be rendered soon) + + // add a stub so that we can connect it with a connector later. + // IE needs this div to be NON-EMPTY in order to properly + // render jsPlumb endpoints, so that's why we add an " "! + + var srcDivID = myViz.generateID('heap_pointer_src_' + heap_pointer_src_id); + heap_pointer_src_id++; // just make sure each source has a UNIQUE ID + d3DomElement.append('
 
'); + + var dstDivID = myViz.generateID('heap_object_' + objID); + + assert(!connectionEndpointIDs.has(srcDivID)); + connectionEndpointIDs.set(srcDivID, dstDivID); + //console.log('HEAP->HEAP', srcDivID, dstDivID); + + assert(!heapConnectionEndpointIDs.has(srcDivID)); + heapConnectionEndpointIDs.set(srcDivID, dstDivID); + + return; // early return! + } + + + var heapObjID = myViz.generateID('heap_object_' + objID); + + + // wrap ALL compound objects in a heapObject div so that jsPlumb + // connectors can point to it: + d3DomElement.append('
'); + d3DomElement = myViz.domRoot.find('#' + heapObjID); + + + renderedObjectIDs.set(objID, 1); + + var obj = curEntry.heap[objID]; + assert($.isArray(obj)); + + + if (obj[0] == 'LIST' || obj[0] == 'TUPLE' || obj[0] == 'SET' || obj[0] == 'DICT') { + var label = obj[0].toLowerCase(); + + assert(obj.length >= 1); + if (obj.length == 1) { + d3DomElement.append('
empty ' + label + '
'); + } + else { + d3DomElement.append('
' + label + '
'); + d3DomElement.append('
'); + var tbl = d3DomElement.children('table'); + + if (obj[0] == 'LIST' || obj[0] == 'TUPLE') { + tbl.append('
'); + + var tbl = d3DomElement.children('table'); + + $.each(obj, function(ind, kvPair) { + if (ind < headerLength) return; // skip header tags + + tbl.append(''); + + var newRow = tbl.find('tr:last'); + var keyTd = newRow.find('td:first'); + var valTd = newRow.find('td:last'); + + // the keys should always be strings, so render them directly (and without quotes): + assert(typeof kvPair[0] == "string"); + var attrnameStr = htmlspecialchars(kvPair[0]); + keyTd.append('' + attrnameStr + ''); + + // values can be arbitrary objects, so recurse: + renderNestedObject(kvPair[1], valTd); + }); + } + } + else if (obj[0] == 'FUNCTION') { + assert(obj.length == 3); + + // pretty-print lambdas and display other weird characters: + var funcName = htmlspecialchars(obj[1]).replace('<lambda>', '\u03bb'); + var parentFrameID = obj[2]; // optional + + if (parentFrameID) { + d3DomElement.append('
function ' + funcName + ' [parent=f'+ parentFrameID + ']
'); + } + else { + d3DomElement.append('
function ' + funcName + '
'); + } + } + else { + // render custom data type + assert(obj.length == 2); + + var typeName = obj[0]; + var strRepr = obj[1]; + + strRepr = htmlspecialchars(strRepr); // escape strings! + + d3DomElement.append('
' + typeName + '
'); + d3DomElement.append('
' + strRepr + '
'); + } + } + + + // Render globals and then stack frames using d3: + + + // TODO: this sometimes seems buggy on Safari, so nix it for now: + function highlightAliasedConnectors(d, i) { + // if this row contains a stack pointer, then highlight its arrow and + // ALL aliases that also point to the same heap object + var stackPtrId = $(this).find('div.stack_pointer').attr('id'); + if (stackPtrId) { + var foundTargetId = null; + myViz.jsPlumbInstance.select({source: stackPtrId}).each(function(c) {foundTargetId = c.targetId;}); + + // use foundTargetId to highlight ALL ALIASES + myViz.jsPlumbInstance.select().each(function(c) { + if (c.targetId == foundTargetId) { + c.setHover(true); + $(c.canvas).css("z-index", 2000); // ... and move it to the VERY FRONT + } + else { + c.setHover(false); + } + }); + } + } + + function unhighlightAllConnectors(d, i) { + myViz.jsPlumbInstance.select().each(function(c) { + c.setHover(false); + }); + } + + + + // render all global variables IN THE ORDER they were created by the program, + // in order to ensure continuity: + + // Derive a list where each element contains varname + // as long as value is NOT undefined. + // (Sometimes entries in curEntry.ordered_globals are undefined, + // so filter those out.) + var realGlobalsLst = []; + $.each(curEntry.ordered_globals, function(i, varname) { + var val = curEntry.globals[varname]; + + // (use '!==' to do an EXACT match against undefined) + if (val !== undefined) { // might not be defined at this line, which is OKAY! + realGlobalsLst.push(varname); + } + }); + + var globalsID = myViz.generateID('globals'); + var globalTblID = myViz.generateID('global_table'); + + var globalVarTable = myViz.domRootD3.select('#' + globalTblID) + .selectAll('tr') + .data(realGlobalsLst, + function(d) {return d;} // use variable name as key + ); + + globalVarTable + .enter() + .append('tr') + .attr('id', function(d, i) { + return myViz.generateID(varnameToCssID('global__' + d + '_tr')); // make globally unique (within the page) + }); + + + var globalVarTableCells = globalVarTable + .selectAll('td.stackFrameVar,td.stackFrameValue') + .data(function(d, i){return [d, d];}) /* map varname down both columns */ + + globalVarTableCells.enter() + .append('td') + .attr('class', function(d, i) {return (i == 0) ? 'stackFrameVar' : 'stackFrameValue';}); + + // remember that the enter selection is added to the update + // selection so that we can process it later ... + + // UPDATE + globalVarTableCells + .order() // VERY IMPORTANT to put in the order corresponding to data elements + .each(function(varname, i) { + if (i == 0) { + $(this).html(varname); + } + else { + var val = curEntry.globals[varname]; + + // include type in repr to prevent conflating integer 5 with string "5" + var valStringRepr = String(typeof val) + ':' + String(val); + + // SUPER HACK - retrieve previous value as a hidden attribute + // TODO: use the jQuery .data() method to store arbitrary data + // inside of a DOM element, so that we can avoid munging strings: + // http://api.jquery.com/data/ + var prevValStringRepr = $(this).attr('data-curvalue'); + + // IMPORTANT! only clear the div and render a new element if the + // value has changed + if (valStringRepr != prevValStringRepr) { + // TODO: render a transition + + $(this).empty(); // crude but effective for now + + if (isPrimitiveType(val)) { + renderPrimitiveObject(val, $(this)); + } + else { + // add a stub so that we can connect it with a connector later. + // IE needs this div to be NON-EMPTY in order to properly + // render jsPlumb endpoints, so that's why we add an " "! + + // make sure varname doesn't contain any weird + // characters that are illegal for CSS ID's ... + var varDivID = myViz.generateID('global__' + varnameToCssID(varname)); + $(this).append('
 
'); + + assert(!connectionEndpointIDs.has(varDivID)); + var heapObjID = myViz.generateID('heap_object_' + getRefID(val)); + connectionEndpointIDs.set(varDivID, heapObjID); + //console.log('STACK->HEAP', varDivID, heapObjID); + + // GARBAGE COLLECTION GOTCHA! we need to get rid of the old + // connector in preparation for rendering a new one: + myViz.jsPlumbInstance.detachAllConnections(varDivID); + } + + //console.log('CHANGED', varname, prevValStringRepr, valStringRepr); + } + + // SUPER HACK - set current value as a hidden string attribute + $(this).attr('data-curvalue', valStringRepr); + } + + }); + + + globalVarTableCells.exit().remove(); + + globalVarTable.exit() + .each(function(d, i) { + // detach all stack_pointer connectors for divs that are being removed + $(this).find('.stack_pointer').each(function(i, sp) { + myViz.jsPlumbInstance.detachAllConnections($(sp).attr('id')); + }); + }) + .remove(); + + + // for aesthetics, hide globals if there aren't any globals to display + if (curEntry.ordered_globals.length == 0) { + this.domRoot.find('#' + globalsID).hide(); + } + else { + this.domRoot.find('#' + globalsID).show(); + } + + + // holy cow, the d3 code for stack rendering is ABSOLUTELY NUTS! + + var stackDiv = myViz.domRootD3.select('#stack'); + + // VERY IMPORTANT for selectAll selector to be SUPER specific here! + var stackFrameDiv = stackDiv.selectAll('div.stackFrame,div.zombieStackFrame') + .data(curEntry.stack_to_render, function(frame) { + // VERY VERY VERY IMPORTANT for properly handling closures and nested functions + // (see the backend code for more details) + return frame.unique_hash; + }); + + var sfdEnter = stackFrameDiv.enter() + .append('div') + .attr('class', function(d, i) {return d.is_zombie ? 'zombieStackFrame' : 'stackFrame';}) + .attr('id', function(d, i) {return d.is_zombie ? myViz.generateID("zombie_stack" + i) + : myViz.generateID("stack" + i); + }) + //.each(function(frame, i) {console.log('NEW STACK FRAME', frame.unique_hash);}) + + sfdEnter + .append('div') + .attr('class', 'stackFrameHeader') + .html(function(frame, i) { + + // pretty-print lambdas and display other weird characters + // (might contain '<' or '>' for weird names like ) + var funcName = htmlspecialchars(frame.func_name).replace('<lambda>', '\u03bb'); + + var headerLabel = funcName; + + // only display if you're someone's parent + if (frame.is_parent) { + headerLabel = 'f' + frame.frame_id + ': ' + headerLabel; + } + + // optional (btw, this isn't a CSS id) + if (frame.parent_frame_id_list.length > 0) { + var parentFrameID = frame.parent_frame_id_list[0]; + headerLabel = headerLabel + ' [parent=f' + parentFrameID + ']'; + } + + return headerLabel; + }) + + sfdEnter + .append('table') + .attr('class', 'stackFrameVarTable'); + + + var stackVarTable = stackFrameDiv + .order() // VERY IMPORTANT to put in the order corresponding to data elements + .select('table').selectAll('tr') + .data(function(frame) { + // each list element contains a reference to the entire frame + // object as well as the variable name + // TODO: look into whether we can use d3 parent nodes to avoid + // this hack ... http://bost.ocks.org/mike/nest/ + return frame.ordered_varnames.map(function(varname) {return {varname:varname, frame:frame};}); + }, + function(d) {return d.varname;} // use variable name as key + ); + + stackVarTable + .enter() + .append('tr') + .attr('id', function(d, i) { + return myViz.generateID(varnameToCssID(d.frame.unique_hash + '__' + d.varname + '_tr')); // make globally unique (within the page) + }); + + + var stackVarTableCells = stackVarTable + .selectAll('td.stackFrameVar,td.stackFrameValue') + .data(function(d, i) {return [d, d] /* map identical data down both columns */;}); + + stackVarTableCells.enter() + .append('td') + .attr('class', function(d, i) {return (i == 0) ? 'stackFrameVar' : 'stackFrameValue';}); + + stackVarTableCells + .order() // VERY IMPORTANT to put in the order corresponding to data elements + .each(function(d, i) { + var varname = d.varname; + var frame = d.frame; + + if (i == 0) { + if (varname == '__return__') + $(this).html('Return
value
'); + else + $(this).html(varname); + } + else { + var val = frame.encoded_locals[varname]; + + // include type in repr to prevent conflating integer 5 with string "5" + var valStringRepr = String(typeof val) + ':' + String(val); + + // SUPER HACK - retrieve previous value as a hidden attribute + var prevValStringRepr = $(this).attr('data-curvalue'); + + // IMPORTANT! only clear the div and render a new element if the + // value has changed + if (valStringRepr != prevValStringRepr) { + // TODO: render a transition + + $(this).empty(); // crude but effective for now + + if (isPrimitiveType(val)) { + renderPrimitiveObject(val, $(this)); + } + else { + // add a stub so that we can connect it with a connector later. + // IE needs this div to be NON-EMPTY in order to properly + // render jsPlumb endpoints, so that's why we add an " "! + + // make sure varname and frame.unique_hash don't contain any weird + // characters that are illegal for CSS ID's ... + var varDivID = myViz.generateID(varnameToCssID(frame.unique_hash + '__' + varname)); + + $(this).append('
 
'); + + assert(!connectionEndpointIDs.has(varDivID)); + var heapObjID = myViz.generateID('heap_object_' + getRefID(val)); + connectionEndpointIDs.set(varDivID, heapObjID); + //console.log('STACK->HEAP', varDivID, heapObjID); + + // GARBAGE COLLECTION GOTCHA! we need to get rid of the old + // connector in preparation for rendering a new one: + myViz.jsPlumbInstance.detachAllConnections(varDivID); + } + + //console.log('CHANGED', frame.unique_hash, varname, prevValStringRepr, valStringRepr); + } + + // SUPER HACK - set current value as a hidden string attribute + $(this).attr('data-curvalue', valStringRepr); + } + }); + + + stackVarTableCells.exit().remove(); + + stackVarTable.exit() + .each(function(d, i) { + $(this).find('.stack_pointer').each(function(i, sp) { + // detach all stack_pointer connectors for divs that are being removed + myViz.jsPlumbInstance.detachAllConnections($(sp).attr('id')); + }); + }) + .remove(); + + stackFrameDiv.exit() + .each(function(frame, i) { + $(this).find('.stack_pointer').each(function(i, sp) { + // detach all stack_pointer connectors for divs that are being removed + myViz.jsPlumbInstance.detachAllConnections($(sp).attr('id')); + }); + }) + .remove(); + + + // crap, we need to repaint all of the existing connectors in case their endpoints have shifted + // due to page elements shifting around :( + myViz.jsPlumbInstance.repaintEverything(); + + // finally add all the NEW connectors that have arisen in this call to renderDataStructures + connectionEndpointIDs.forEach(function(varID, valueID) { + myViz.jsPlumbInstance.connect({source: varID, target: valueID}); + }); + + /* + myViz.jsPlumbInstance.select().each(function(c) { + console.log('CONN:', c.sourceId, c.targetId); + }); + */ + //console.log('---', myViz.jsPlumbInstance.select().length, '---'); + + + function highlight_frame(frameID) { + myViz.jsPlumbInstance.select().each(function(c) { + // this is VERY VERY fragile code, since it assumes that going up + // FOUR layers of parent() calls will get you from the source end + // of the connector to the enclosing stack frame + var stackFrameDiv = c.source.parent().parent().parent().parent(); + + // if this connector starts in the selected stack frame ... + if (stackFrameDiv.attr('id') == frameID) { + // then HIGHLIGHT IT! + c.setPaintStyle({lineWidth:1, strokeStyle: connectorBaseColor}); + c.endpoints[0].setPaintStyle({fillStyle: connectorBaseColor}); + //c.endpoints[1].setVisible(false, true, true); // JUST set right endpoint to be invisible + + $(c.canvas).css("z-index", 1000); // ... and move it to the VERY FRONT + } + // for heap->heap connectors + else if (heapConnectionEndpointIDs.has(c.endpoints[0].elementId)) { + // NOP since it's already the color and style we set by default + } + else { + // else unhighlight it + c.setPaintStyle({lineWidth:1, strokeStyle: connectorInactiveColor}); + c.endpoints[0].setPaintStyle({fillStyle: connectorInactiveColor}); + //c.endpoints[1].setVisible(false, true, true); // JUST set right endpoint to be invisible + + $(c.canvas).css("z-index", 0); + } + }); + + + // clear everything, then just activate this one ... + myViz.domRoot.find(".stackFrame").removeClass("highlightedStackFrame"); + myViz.domRoot.find('#' + frameID).addClass("highlightedStackFrame"); + } + + + // highlight the top-most non-zombie stack frame or, if not available, globals + var frame_already_highlighted = false; + $.each(curEntry.stack_to_render, function(i, e) { + if (e.is_highlighted) { + highlight_frame(myViz.generateID('stack' + i)); + frame_already_highlighted = true; + } + }); + + if (!frame_already_highlighted) { + highlight_frame(myViz.generateID('globals')); + } + +} + + + +ExecutionVisualizer.prototype.redrawConnectors = function() { + this.jsPlumbInstance.repaintEverything(); +} + + +// Utilities + + +/* colors - see pytutor.css for more colors */ + +var highlightedLineColor = '#e4faeb'; +var highlightedLineBorderColor = '#005583'; + +var highlightedLineLighterColor = '#e8fff0'; + +var funcCallLineColor = '#a2eebd'; + +var brightRed = '#e93f34'; + +var connectorBaseColor = '#005583'; +var connectorHighlightColor = brightRed; +var connectorInactiveColor = '#cccccc'; + +var errorColor = brightRed; + +var breakpointColor = brightRed; +var hoverBreakpointColor = connectorBaseColor; + + +// Unicode arrow types: '\u21d2', '\u21f0', '\u2907' +var darkArrowColor = brightRed; +var lightArrowColor = '#c9e6ca'; + + +function assert(cond) { + if (!cond) { + alert("Assertion Failure (see console log for backtrace)"); + throw 'Assertion Failure'; + } +} + +// taken from http://www.toao.net/32-my-htmlspecialchars-function-for-javascript +function htmlspecialchars(str) { + if (typeof(str) == "string") { + str = str.replace(/&/g, "&"); /* must do & first */ + + // ignore these for now ... + //str = str.replace(/"/g, """); + //str = str.replace(/'/g, "'"); + + str = str.replace(//g, ">"); + + // replace spaces: + str = str.replace(/ /g, " "); + + // replace tab as four spaces: + str = str.replace(/\t/g, "    "); + } + return str; +} + +String.prototype.rtrim = function() { + return this.replace(/\s*$/g, ""); +} + + +// make sure varname doesn't contain any weird +// characters that are illegal for CSS ID's ... +// +// I know for a fact that iterator tmp variables named '_[1]' +// are NOT legal names for CSS ID's. +// I also threw in '{', '}', '(', ')', '<', '>' as illegal characters. +// +// also some variable names are like '.0' (for generator expressions), +// and '.' seems to be illegal. +// TODO: what other characters are illegal??? +var lbRE = new RegExp('\\[|{|\\(|<', 'g'); +var rbRE = new RegExp('\\]|}|\\)|>', 'g'); +function varnameToCssID(varname) { + return varname.replace(lbRE, 'LeftB_').replace(rbRE, '_RightB').replace('.', '_DOT_'); +} + + +// compare two JSON-encoded compound objects for structural equivalence: +function structurallyEquivalent(obj1, obj2) { + // punt if either isn't a compound type + if (isPrimitiveType(obj1) || isPrimitiveType(obj2)) { + return false; + } + + // must be the same compound type + if (obj1[0] != obj2[0]) { + return false; + } + + // must have the same number of elements or fields + if (obj1.length != obj2.length) { + return false; + } + + // for a list or tuple, same size (e.g., a cons cell is a list/tuple of size 2) + if (obj1[0] == 'LIST' || obj1[0] == 'TUPLE') { + return true; + } + else { + var startingInd = -1; + + if (obj1[0] == 'DICT') { + startingInd = 2; + } + else if (obj1[0] == 'INSTANCE') { + startingInd = 3; + } + else { + return false; + } + + var obj1fields = d3.map(); + + // for a dict or object instance, same names of fields (ordering doesn't matter) + for (var i = startingInd; i < obj1.length; i++) { + obj1fields.set(obj1[i][0], 1); // use as a set + } + + for (var i = startingInd; i < obj2.length; i++) { + if (!obj1fields.has(obj2[i][0])) { + return false; + } + } + + return true; + } +} + + +function isPrimitiveType(obj) { + var typ = typeof obj; + return ((obj == null) || (typ != "object")); +} + +function getRefID(obj) { + assert(obj[0] == 'REF'); + return obj[1]; +} + diff --git a/v3/lesson.html b/v3/lesson.html new file mode 100644 index 000000000..418977396 --- /dev/null +++ b/v3/lesson.html @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+ +
+
+ + + + + + diff --git a/v3/lessons/aliasing.txt b/v3/lessons/aliasing.txt new file mode 100644 index 000000000..ba4f8b230 --- /dev/null +++ b/v3/lessons/aliasing.txt @@ -0,0 +1,10 @@ +x = [1, 2, 3, 4, 5] +y = x +z = [1, 2, 3, 4, 5] +x.append(6) +====== +{ + "1": "execution point one", + "2": "execution point two", + "4": "execution point four" +} diff --git a/v3/lessons/dive-into-python-311.txt b/v3/lessons/dive-into-python-311.txt new file mode 100644 index 000000000..53a20d0a1 --- /dev/null +++ b/v3/lessons/dive-into-python-311.txt @@ -0,0 +1,38 @@ +li = ['a', 'b', 'mp', 'z', 'e'] +slice1 = li[1:3] +slice2 = li[1:-1] +slice3 = li[0:3] +li.append("new") +li.insert(2, "new") +li.extend(["two", "elements"]) +li.remove("z") +li.remove("new") +li.remove("new") +li.remove("c") +====== +{ + "title": "Basic List Operations", + + "description": "This lesson was derived from Section 3.2 of Dive Into Python.", + + "1": "First, you define a list of five elements. Note that after you execute this line, the elements retain their original order. This is not an accident. A list is an ordered set of elements enclosed in square brackets.", + + "2": "You can get a subset of a list, called a \"slice\", by specifying two indices. The return value is a new list containing all the elements of the list, in order, starting with the first slice index (in this case li[1]), up to but not including the second slice index (in this case li[3]).", + + "3": "Slicing works if one or both of the slice indices is negative. If it helps, you can think of it this way: reading the list from left to right, the first slice index specifies the first element you want, and the second slice index specifies the first element you don't want. The return value is everything in between.", + + "4": "Lists are zero-based, so li[0:3] returns the first three elements of the list, starting at li[0], up to but not including li[3].", + + "5": "append adds a single element to the end of the list.", + + "6": "insert inserts a single element into a list. The numeric argument is the index of the first element that gets bumped out of position. Note that list elements do not need to be unique; there will now be two separate elements with the value 'new', li[2] and li[6].", + + "7": "extend concatenates lists. Note that you do not call extend with multiple arguments; you call it with one argument, a list. In this case, that list has two elements.", + + "8": "remove removes the first occurrence of a value from a list.", + + "9": "remove removes only the first occurrence of a value. In this case, 'new' appears twice in the list, but li.remove(\"new\") will remove only the first occurrence.", + + "11": "If the value is not found in the list, Python raises an exception. This mirrors the behavior of the index method." + +} diff --git a/v3/lessons/for-else.txt b/v3/lessons/for-else.txt new file mode 100644 index 000000000..08502b199 --- /dev/null +++ b/v3/lessons/for-else.txt @@ -0,0 +1,34 @@ +primes = [] +for n in range(2, 10): + x_range = range(2, n) + for x in x_range: + if n % x == 0: + break + else: + # loop fell through without finding a factor + primes.append(n) +====== +{ + "title": "For-Else Construct", + + "description": "Loop statements may have an else clause; it is executed when the loop terminates through exhaustion of the list (with for) or when the condition becomes false (with while), but not when the loop is terminated by a break statement. This is exemplified by the following loop, which searches for prime numbers. (Yes, this is the correct code. Look closely: the else clause belongs to the for loop, not the if statement.) [Source: Python.org tutorial]", + + "1": "First initialize a list to hold the prime numbers found between 2 and 9 (inclusive).", + + "4": "Note that this inner for loop has an associated else clause on line 7.", + + "5": "The first iteration of this for loop immediately exits and jumps to the else clause because range(2, 2) is empty.", + + "7": "Test whether n is divisible by x to determine primality ...", + + "11": "Since the loop exits again without running a break statement, the else clause is executed.", + + "16": "4 is divisible by 2, so it's not prime. The inner for loop will exit by running the break statement, so its associated else clause will not be executed.", + + "19": "The program now tests whether 5 is divisible by 2, 3, or 4.", + + "26": "Since 5 is prime, the inner for again exits normally, so its associated else clause will be executed.", + + "59": "When the program terminates, primes contains the list of primes found between 2 and 9 (inclusive)" + +} diff --git a/v3/lessons/varargs.txt b/v3/lessons/varargs.txt new file mode 100644 index 000000000..f2508a89c --- /dev/null +++ b/v3/lessons/varargs.txt @@ -0,0 +1,35 @@ +def f1(a, b, *rest): + pass + +f1(1, 2) +f1(1, 2, 3, 4, 5, 6, 7) + +def f2(a, b, **kwrest): + pass + +f2(1, 2, name='Bob', age=38) + +def f3(a, b, *rest, **kwrest): + pass + +f3(1, 2, 3, 4, name='Bob', age=38) +====== +{ + "title": "Optional Function Arguments", + + "description": "Prepending certain argument names with * and ** allows Python functions to accept an arbitrary number of optional arguments.", + + "1": "f1 is declared with two mandatory arguments (a and b) and an optional *rest argument.", + + "3": "When you call f1 with only the two mandatory arguments, rest is an empty tuple.", + + "7": "When you call f1 with additional arguments, rest is a tuple that holds the contents of everything after the two mandatory arguments.", + + "10": "f2 is declared with two mandatory arguments and an optional **kwrest argument.", + + "12": "When you call f2 with additional keyword arguments (e.g., name='Bob', age=38), kwrest becomes a dict bound to their respective keys and values.", + + "15": "You can combine up to one * and one ** argument in a function definition.", + + "17": "Now any extra regular arguments (here, the numbers 3 and 4) are found in the *rest tuple, and any extra keyword arguments are in the **kwrest dict." +} diff --git a/v3/logger/gae_logger.py b/v3/logger/gae_logger.py new file mode 100644 index 000000000..77b59c172 --- /dev/null +++ b/v3/logger/gae_logger.py @@ -0,0 +1,22 @@ +# User activity logger to be deployed on Google App Engine datastore + +import datetime +from google.appengine.ext import db + + +class VisualizerRequest(db.Model): + user_script = db.TextProperty(required=True) # LONG string + cumulative_mode = db.BooleanProperty(requred=True) + user_ip_addr = db.StringProperty(required=True) + http_referer = db.StringProperty(required=True) + app_id = db.StringProperty(required=True) + request_timestamp = db.DateTimeProperty(auto_now_add=True) # always set timestamp to NOW! + +x = VisualizerRequest(user_script=db.Text(u'print "hello world"\n', encoding='utf_8'), + cumulative_mode=True + user_ip_addr='18.239.4.100', + http_referer='http://www.google.com/?magic-search', + app_id='pgbovine test') + +x.put() + diff --git a/v3/opt-v3-cs61a-embed.png b/v3/opt-v3-cs61a-embed.png new file mode 100644 index 000000000..c0ffcbd54 Binary files /dev/null and b/v3/opt-v3-cs61a-embed.png differ diff --git a/v3/pg_encoder.py b/v3/pg_encoder.py new file mode 100644 index 000000000..c47a05169 --- /dev/null +++ b/v3/pg_encoder.py @@ -0,0 +1,256 @@ +# Online Python Tutor +# https://github.com/pgbovine/OnlinePythonTutor/ +# +# Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +# Thanks to John DeNero for making the encoder work on both Python 2 and 3 + + +# Given an arbitrary piece of Python data, encode it in such a manner +# that it can be later encoded into JSON. +# http://json.org/ +# +# We use this function to encode run-time traces of data structures +# to send to the front-end. +# +# Format: +# Primitives: +# * None, int, long, float, str, bool - unchanged +# (json.dumps encodes these fine verbatim) +# +# Compound objects: +# * list - ['LIST', elt1, elt2, elt3, ..., eltN] +# * tuple - ['TUPLE', elt1, elt2, elt3, ..., eltN] +# * set - ['SET', elt1, elt2, elt3, ..., eltN] +# * dict - ['DICT', [key1, value1], [key2, value2], ..., [keyN, valueN]] +# * instance - ['INSTANCE', class name, [attr1, value1], [attr2, value2], ..., [attrN, valueN]] +# * class - ['CLASS', class name, [list of superclass names], [attr1, value1], [attr2, value2], ..., [attrN, valueN]] +# * function - ['FUNCTION', function name, parent frame ID (for nested functions)] +# * module - ['module', module name] +# * other - [, string representation of object] +# * compound object reference - ['REF', target object's unique_id] +# +# the unique_id is derived from id(), which allows us to capture aliasing + + +# number of significant digits for floats +FLOAT_PRECISION = 4 + + +import re, types +import sys +typeRE = re.compile("") +classRE = re.compile("") + +import inspect + +is_python3 = (sys.version_info[0] == 3) +if is_python3: + long = None # Avoid NameError when evaluating "long" + + +def is_class(dat): + """Return whether dat is a class.""" + if is_python3: + return isinstance(dat, type) + else: + return type(dat) in (types.ClassType, types.TypeType) + + +def is_instance(dat): + """Return whether dat is an instance of a class.""" + if is_python3: + return isinstance(type(dat), type) and not isinstance(dat, type) + else: + # ugh, classRE match is a bit of a hack :( + return type(dat) == types.InstanceType or classRE.match(str(type(dat))) + + +def get_name(obj): + """Return the name of an object.""" + return obj.__name__ if hasattr(obj, '__name__') else get_name(type(obj)) + + +# Note that this might BLOAT MEMORY CONSUMPTION since we're holding on +# to every reference ever created by the program without ever releasing +# anything! +class ObjectEncoder: + def __init__(self): + # Key: canonicalized small ID + # Value: encoded (compound) heap object + self.encoded_heap_objects = {} + + self.id_to_small_IDs = {} + self.cur_small_ID = 1 + + + def get_heap(self): + return self.encoded_heap_objects + + + def reset_heap(self): + # VERY IMPORTANT to reassign to an empty dict rather than just + # clearing the existing dict, since get_heap() could have been + # called earlier to return a reference to a previous heap state + self.encoded_heap_objects = {} + + def set_function_parent_frame_ID(self, ref_obj, enclosing_frame_id): + assert ref_obj[0] == 'REF' + func_obj = self.encoded_heap_objects[ref_obj[1]] + assert func_obj[0] == 'FUNCTION' + func_obj[-1] = enclosing_frame_id + + + # return either a primitive object or an object reference; + # and as a side effect, update encoded_heap_objects + def encode(self, dat, get_parent): + """Encode a data value DAT using the GET_PARENT function for parent ids.""" + # primitive type + if type(dat) in (int, long, float, str, bool, type(None)): + if type(dat) is float: + return round(dat, FLOAT_PRECISION) + else: + return dat + + # compound type - return an object reference and update encoded_heap_objects + else: + my_id = id(dat) + + try: + my_small_id = self.id_to_small_IDs[my_id] + except KeyError: + my_small_id = self.cur_small_ID + self.id_to_small_IDs[my_id] = self.cur_small_ID + self.cur_small_ID += 1 + + del my_id # to prevent bugs later in this function + + ret = ['REF', my_small_id] + + # punt early if you've already encoded this object + if my_small_id in self.encoded_heap_objects: + return ret + + + # major side-effect! + new_obj = [] + self.encoded_heap_objects[my_small_id] = new_obj + + typ = type(dat) + + if typ == list: + new_obj.append('LIST') + for e in dat: + new_obj.append(self.encode(e, get_parent)) + elif typ == tuple: + new_obj.append('TUPLE') + for e in dat: + new_obj.append(self.encode(e, get_parent)) + elif typ == set: + new_obj.append('SET') + for e in dat: + new_obj.append(self.encode(e, get_parent)) + elif typ == dict: + new_obj.append('DICT') + for (k, v) in dat.items(): + # don't display some built-in locals ... + if k not in ('__module__', '__return__', '__locals__'): + new_obj.append([self.encode(k, get_parent), self.encode(v, get_parent)]) + elif typ in (types.FunctionType, types.MethodType): + if is_python3: + argspec = inspect.getfullargspec(dat) + else: + argspec = inspect.getargspec(dat) + + printed_args = [e for e in argspec.args] + if argspec.varargs: + printed_args.append('*' + argspec.varargs) + + if is_python3: + if argspec.varkw: + printed_args.append('**' + argspec.varkw) + if argspec.kwonlyargs: + printed_args.extend(argspec.kwonlyargs) + else: + if argspec.keywords: + printed_args.append('**' + argspec.keywords) + + func_name = get_name(dat) + pretty_name = func_name + '(' + ', '.join(printed_args) + ')' + encoded_val = ['FUNCTION', pretty_name, None] + if get_parent: + enclosing_frame_id = get_parent(dat) + encoded_val[2] = enclosing_frame_id + new_obj.extend(encoded_val) + elif typ is types.BuiltinFunctionType: + pretty_name = get_name(dat) + '(...)' + new_obj.extend(['FUNCTION', pretty_name, None]) + elif is_class(dat) or is_instance(dat): + self.encode_class_or_instance(dat, new_obj) + elif typ is types.ModuleType: + new_obj.extend(['module', dat.__name__]) + else: + typeStr = str(typ) + m = typeRE.match(typeStr) + + if not m: + m = classRE.match(typeStr) + + assert m, typ + new_obj.extend([m.group(1), str(dat)]) + + return ret + + + def encode_class_or_instance(self, dat, new_obj): + """Encode dat as a class or instance.""" + if is_instance(dat): + if hasattr(dat, '__class__'): + # common case ... + class_name = get_name(dat.__class__) + else: + # super special case for something like + # "from datetime import datetime_CAPI" in Python 3.2, + # which is some weird 'PyCapsule' type ... + # http://docs.python.org/release/3.1.5/c-api/capsule.html + class_name = get_name(type(dat)) + + new_obj.extend(['INSTANCE', class_name]) + # don't traverse inside modules, or else risk EXPLODING the visualization + if class_name == 'module': + return + else: + superclass_names = [e.__name__ for e in dat.__bases__ if e is not object] + new_obj.extend(['CLASS', get_name(dat), superclass_names]) + + # traverse inside of its __dict__ to grab attributes + # (filter out useless-seeming ones): + hidden = ('__doc__', '__module__', '__return__', '__dict__', + '__locals__', '__weakref__') + if hasattr(dat, '__dict__'): + user_attrs = sorted([e for e in dat.__dict__ if e not in hidden]) + else: + user_attrs = [] + + for attr in user_attrs: + new_obj.append([self.encode(attr, None), self.encode(dat.__dict__[attr], None)]) + diff --git a/v3/pg_logger.py b/v3/pg_logger.py new file mode 100644 index 000000000..e573398bb --- /dev/null +++ b/v3/pg_logger.py @@ -0,0 +1,872 @@ +# Online Python Tutor +# https://github.com/pgbovine/OnlinePythonTutor/ +# +# Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +# This is the meat of the Online Python Tutor back-end. It implements a +# full logger for Python program execution (based on pdb, the standard +# Python debugger imported via the bdb module), printing out the values +# of all in-scope data structures after each executed instruction. + + + +import sys +import bdb # the KEY import here! +import re +import traceback +import types + +is_python3 = (sys.version_info[0] == 3) + +if is_python3: + import io as cStringIO +else: + import cStringIO +import pg_encoder + + +# TODO: not threadsafe: + +# upper-bound on the number of executed lines, in order to guard against +# infinite loops +MAX_EXECUTED_LINES = 300 + +#DEBUG = False +DEBUG = True + + +# simple sandboxing scheme: +# +# - use resource.setrlimit to deprive this process of ANY file descriptors +# (which will cause file read/write and subprocess shell launches to fail) +# - restrict user builtins and module imports +# (beware that this is NOT foolproof at all ... there are known flaws!) +# +# ALWAYS use defense-in-depth and don't just rely on these simple mechanisms +try: + import resource + resource_module_loaded = True +except ImportError: + # Google App Engine doesn't seem to have the 'resource' module + resource_module_loaded = False + + +# ugh, I can't figure out why in Python 2, __builtins__ seems to +# be a dict, but in Python 3, __builtins__ seems to be a module, +# so just handle both cases ... UGLY! +if type(__builtins__) is dict: + BUILTIN_IMPORT = __builtins__['__import__'] +else: + assert type(__builtins__) is types.ModuleType + BUILTIN_IMPORT = __builtins__.__import__ + + +# whitelist of module imports +ALLOWED_MODULE_IMPORTS = ('math', 'random', 'datetime', + 'functools', 'operator', 'string', + 'collections', 're', 'json', + 'heapq', 'bisect') + +# PREEMPTIVELY import all of these modules, so that when the user's +# script imports them, it won't try to do a file read (since they've +# already been imported and cached in memory). Remember that when +# the user's code runs, resource.setrlimit(resource.RLIMIT_NOFILE, (0, 0)) +# will already be in effect, so no more files can be opened. +for m in ALLOWED_MODULE_IMPORTS: + __import__(m) + + +# Restrict imports to a whitelist +def __restricted_import__(*args): + if args[0] in ALLOWED_MODULE_IMPORTS: + return BUILTIN_IMPORT(*args) + else: + raise ImportError('{0} not supported'.format(args[0])) + + +# blacklist of builtins +BANNED_BUILTINS = ('reload', 'input', 'apply', 'open', 'compile', + 'file', 'eval', 'exec', 'execfile', + 'exit', 'quit', 'raw_input', 'help', + 'dir', 'globals', 'locals', 'vars') + + +IGNORE_VARS = set(('__user_stdout__', '__builtins__', '__name__', '__exception__', '__doc__', '__package__')) + +def get_user_stdout(frame): + return frame.f_globals['__user_stdout__'].getvalue() + +def get_user_globals(frame): + d = filter_var_dict(frame.f_globals) + # also filter out __return__ for globals only, but NOT for locals + if '__return__' in d: + del d['__return__'] + return d + +def get_user_locals(frame): + return filter_var_dict(frame.f_locals) + +def filter_var_dict(d): + ret = {} + for (k,v) in d.items(): + if k not in IGNORE_VARS: + ret[k] = v + return ret + + +# yield all function objects locally-reachable from frame, +# making sure to traverse inside all compound objects ... +def visit_all_locally_reachable_function_objs(frame): + for (k, v) in get_user_locals(frame).items(): + for e in visit_function_obj(v, set()): + if e: # only non-null if it's a function object + assert type(e) in (types.FunctionType, types.MethodType) + yield e + + +# TODO: this might be slow if we're traversing inside lots of objects: +def visit_function_obj(v, ids_seen_set): + v_id = id(v) + + # to prevent infinite loop + if v_id in ids_seen_set: + yield None + else: + ids_seen_set.add(v_id) + + typ = type(v) + + # simple base case + if typ in (types.FunctionType, types.MethodType): + yield v + + # recursive cases + elif typ in (list, tuple, set): + for child in v: + for child_res in visit_function_obj(child, ids_seen_set): + yield child_res + + elif typ == dict or pg_encoder.is_class(v) or pg_encoder.is_instance(v): + contents_dict = None + + if typ == dict: + contents_dict = v + # warning: some classes or instances don't have __dict__ attributes + elif hasattr(v, '__dict__'): + contents_dict = v.__dict__ + + if contents_dict: + for (key_child, val_child) in contents_dict.items(): + for key_child_res in visit_function_obj(key_child, ids_seen_set): + yield key_child_res + for val_child_res in visit_function_obj(val_child, ids_seen_set): + yield val_child_res + + # degenerate base case + yield None + + +class PGLogger(bdb.Bdb): + + def __init__(self, cumulative_mode, finalizer_func, disable_security_checks=False): + bdb.Bdb.__init__(self) + self.mainpyfile = '' + self._wait_for_mainpyfile = 0 + + self.disable_security_checks = disable_security_checks + + # a function that takes the output trace as a parameter and + # processes it + self.finalizer_func = finalizer_func + + # if True, then displays ALL stack frames that have ever existed + # rather than only those currently on the stack (and their + # lexical parents) + self.cumulative_mode = cumulative_mode + + # each entry contains a dict with the information for a single + # executed line + self.trace = [] + + #http://stackoverflow.com/questions/2112396/in-python-in-google-app-engine-how-do-you-capture-output-produced-by-the-print + self.GAE_STDOUT = sys.stdout + + # Key: function object + # Value: parent frame + self.closures = {} + + # set of function objects that were defined in the global scope + self.globally_defined_funcs = set() + + # Key: frame object + # Value: monotonically increasing small ID, based on call order + self.frame_ordered_ids = {} + self.cur_frame_id = 1 + + # List of frames to KEEP AROUND after the function exits. + # If cumulative_mode is True, then keep ALL frames in + # zombie_frames; otherwise keep only frames where + # nested functions were defined within them. + self.zombie_frames = [] + + # set of elements within zombie_frames that are also + # LEXICAL PARENTS of other frames + self.parent_frames_set = set() + + # all globals that ever appeared in the program, in the order in + # which they appeared. note that this might be a superset of all + # the globals that exist at any particular execution point, + # since globals might have been deleted (using, say, 'del') + self.all_globals_in_order = [] + + # very important for this single object to persist throughout + # execution, or else canonical small IDs won't be consistent. + self.encoder = pg_encoder.ObjectEncoder() + + self.executed_script = None # Python script to be executed! + + + def get_frame_id(self, cur_frame): + return self.frame_ordered_ids[cur_frame] + + # Returns the (lexical) parent of a function value. + def get_parent_of_function(self, val): + if val not in self.closures: + return None + return self.get_frame_id(self.closures[val]) + + + # Returns the (lexical) parent frame of the function that was called + # to create the stack frame 'frame'. + # + # OKAY, this is a SUPER hack, but I don't see a way around it + # since it's impossible to tell exactly which function + # ('closure') object was called to create 'frame'. + # + # The Python interpreter doesn't maintain this information, + # so unless we hack the interpreter, we will simply have + # to make an educated guess based on the contents of local + # variables inherited from possible parent frame candidates. + def get_parent_frame(self, frame): + for (func_obj, parent_frame) in self.closures.items(): + # ok, there's a possible match, but let's compare the + # local variables in parent_frame to those of frame + # to make sure. this is a hack that happens to work because in + # Python, each stack frame inherits ('inlines') a copy of the + # variables from its (lexical) parent frame. + if func_obj.__code__ == frame.f_code: + all_matched = True + for k in frame.f_locals: + # Do not try to match local names + if k in frame.f_code.co_varnames: + continue + if k != '__return__' and k in parent_frame.f_locals: + if parent_frame.f_locals[k] != frame.f_locals[k]: + all_matched = False + break + + if all_matched: + return parent_frame + + return None + + + def lookup_zombie_frame_by_id(self, frame_id): + # TODO: kinda inefficient + for e in self.zombie_frames: + if self.get_frame_id(e) == frame_id: + return e + assert False # should never get here + + + # unused ... + #def reset(self): + # bdb.Bdb.reset(self) + # self.forget() + + + def forget(self): + self.lineno = None + self.stack = [] + self.curindex = 0 + self.curframe = None + + def setup(self, f, t): + self.forget() + self.stack, self.curindex = self.get_stack(f, t) + self.curframe = self.stack[self.curindex][0] + + + # Override Bdb methods + + def user_call(self, frame, argument_list): + """This method is called when there is the remote possibility + that we ever need to stop in this function.""" + if self._wait_for_mainpyfile: + return + if self.stop_here(frame): + # delete __return__ so that on subsequent calls to + # a generator function, the OLD yielded (returned) + # value gets deleted from the frame ... + try: + del frame.f_locals['__return__'] + except KeyError: + pass + + self.interaction(frame, None, 'call') + + def user_line(self, frame): + """This function is called when we stop or break at this line.""" + if self._wait_for_mainpyfile: + if (self.canonic(frame.f_code.co_filename) != "" or + frame.f_lineno <= 0): + return + self._wait_for_mainpyfile = 0 + self.interaction(frame, None, 'step_line') + + def user_return(self, frame, return_value): + """This function is called when a return trap is set here.""" + frame.f_locals['__return__'] = return_value + self.interaction(frame, None, 'return') + + def user_exception(self, frame, exc_info): + exc_type, exc_value, exc_traceback = exc_info + """This function is called if an exception occurs, + but only if we are to stop at or just below this level.""" + frame.f_locals['__exception__'] = exc_type, exc_value + if type(exc_type) == type(''): + exc_type_name = exc_type + else: exc_type_name = exc_type.__name__ + self.interaction(frame, exc_traceback, 'exception') + + + # General interaction function + + def interaction(self, frame, traceback, event_type): + self.setup(frame, traceback) + tos = self.stack[self.curindex] + top_frame = tos[0] + lineno = tos[1] + + # don't trace inside of ANY functions that aren't user-written code + # (e.g., those from imported modules -- e.g., random, re -- or the + # __restricted_import__ function in this file) + # + # empirically, it seems like the FIRST entry in self.stack is + # the 'run' function from bdb.py, but everything else on the + # stack is the user program's "real stack" + for (cur_frame, cur_line) in self.stack[1:]: + # it seems like user-written code has a filename of '', + # but maybe there are false positives too? + if self.canonic(cur_frame.f_code.co_filename) != '': + return + # also don't trace inside of the magic "constructor" code + if cur_frame.f_code.co_name == '__new__': + return + # or __repr__, which is often called when running print statements + if cur_frame.f_code.co_name == '__repr__': + return + + + # debug ... + #print('===', file=sys.stderr) + #for (e,ln) in self.stack: + # print(e.f_code.co_name + ' ' + e.f_code.co_filename + ' ' + str(ln), file=sys.stderr) + #print('', file=sys.stderr) + + + # don't trace inside of our __restricted_import__ helper function + # (this check is now subsumed by the above check) + #if top_frame.f_code.co_name == '__restricted_import__': + # return + + self.encoder.reset_heap() # VERY VERY VERY IMPORTANT, + # or else we won't properly capture heap object mutations in the trace! + + if event_type == 'call': + # Don't be so strict about this assertion because it FAILS + # when you're calling a generator (not for the first time), + # since that frame has already previously been on the stack ... + #assert top_frame not in self.frame_ordered_ids + + self.frame_ordered_ids[top_frame] = self.cur_frame_id + self.cur_frame_id += 1 + + if self.cumulative_mode: + self.zombie_frames.append(top_frame) + + + # only render zombie frames that are NO LONGER on the stack + cur_stack_frames = [e[0] for e in self.stack] + zombie_frames_to_render = [e for e in self.zombie_frames if e not in cur_stack_frames] + + + # each element is a pair of (function name, ENCODED locals dict) + encoded_stack_locals = [] + + + # returns a dict with keys: function name, frame id, id of parent frame, encoded_locals dict + def create_encoded_stack_entry(cur_frame): + ret = {} + + + parent_frame_id_list = [] + + f = cur_frame + while True: + p = self.get_parent_frame(f) + if p: + pid = self.get_frame_id(p) + assert pid + parent_frame_id_list.append(pid) + f = p + else: + break + + + cur_name = cur_frame.f_code.co_name + + if cur_name == '': + cur_name = 'unnamed function' + + # encode in a JSON-friendly format now, in order to prevent ill + # effects of aliasing later down the line ... + encoded_locals = {} + + for (k, v) in get_user_locals(cur_frame).items(): + is_in_parent_frame = False + + # don't display locals that appear in your parents' stack frames, + # since that's redundant + for pid in parent_frame_id_list: + parent_frame = self.lookup_zombie_frame_by_id(pid) + if k in parent_frame.f_locals: + # ignore __return__, which is never copied + if k != '__return__': + # these values SHOULD BE ALIASES + # (don't do an 'is' check since it might not fire for primitives) + if parent_frame.f_locals[k] == v: + is_in_parent_frame = True + + if is_in_parent_frame and k not in cur_frame.f_code.co_varnames: + continue + + # don't display some built-in locals ... + if k == '__module__': + continue + + encoded_val = self.encoder.encode(v, self.get_parent_of_function) + encoded_locals[k] = encoded_val + + + # order the variable names in a sensible way: + + # Let's start with co_varnames, since it (often) contains all + # variables in this frame, some of which might not exist yet. + ordered_varnames = [] + for e in cur_frame.f_code.co_varnames: + if e in encoded_locals: + ordered_varnames.append(e) + + # sometimes co_varnames doesn't contain all of the true local + # variables: e.g., when executing a 'class' definition. in that + # case, iterate over encoded_locals and push them onto the end + # of ordered_varnames in alphabetical order + for e in sorted(encoded_locals.keys()): + if e != '__return__' and e not in ordered_varnames: + ordered_varnames.append(e) + + # finally, put __return__ at the very end + if '__return__' in encoded_locals: + ordered_varnames.append('__return__') + + # doctor Python 3 initializer to look like a normal function (denero) + if '__locals__' in encoded_locals: + ordered_varnames.remove('__locals__') + local = encoded_locals.pop('__locals__') + if encoded_locals.get('__return__', True) is None: + encoded_locals['__return__'] = local + + # crucial sanity checks! + assert len(ordered_varnames) == len(encoded_locals) + for e in ordered_varnames: + assert e in encoded_locals + + return dict(func_name=cur_name, + is_parent=(cur_frame in self.parent_frames_set), + frame_id=self.get_frame_id(cur_frame), + parent_frame_id_list=parent_frame_id_list, + encoded_locals=encoded_locals, + ordered_varnames=ordered_varnames) + + + i = self.curindex + + # look for whether a nested function has been defined during + # this particular call: + if i > 1: # i == 1 implies that there's only a global scope visible + for v in visit_all_locally_reachable_function_objs(top_frame): + if (v not in self.closures and \ + v not in self.globally_defined_funcs): + + # Look for the presence of the code object (v.func_code + # for Python 2 or v.__code__ for Python 3) in the + # constant pool (f_code.co_consts) of an enclosing + # stack frame, and set that frame as your parent. + # + # This technique properly handles lambdas passed as + # function parameters. e.g., this example: + # + # def foo(x): + # bar(lambda y: x + y) + # def bar(a): + # print a(20) + # foo(10) + chosen_parent_frame = None + for (my_frame, my_lineno) in self.stack: + if chosen_parent_frame: + break + + for frame_const in my_frame.f_code.co_consts: + if frame_const is (v.__code__ if is_python3 else v.func_code): + chosen_parent_frame = my_frame + break + + assert chosen_parent_frame # I hope this always passes :0 + + # this condition should be False for functions declared in global scope ... + if chosen_parent_frame in self.frame_ordered_ids: + self.closures[v] = chosen_parent_frame + self.parent_frames_set.add(chosen_parent_frame) # unequivocally add to this set!!! + if not chosen_parent_frame in self.zombie_frames: + self.zombie_frames.append(chosen_parent_frame) + else: + # if there is only a global scope visible ... + for (k, v) in get_user_globals(top_frame).items(): + if (type(v) in (types.FunctionType, types.MethodType) and \ + v not in self.closures): + self.globally_defined_funcs.add(v) + + + # climb up until you find '', which is (hopefully) the global scope + while True: + cur_frame = self.stack[i][0] + cur_name = cur_frame.f_code.co_name + if cur_name == '': + break + + encoded_stack_locals.append(create_encoded_stack_entry(cur_frame)) + i -= 1 + + zombie_encoded_stack_locals = [create_encoded_stack_entry(e) for e in zombie_frames_to_render] + + + # encode in a JSON-friendly format now, in order to prevent ill + # effects of aliasing later down the line ... + encoded_globals = {} + for (k, v) in get_user_globals(tos[0]).items(): + encoded_val = self.encoder.encode(v, self.get_parent_of_function) + encoded_globals[k] = encoded_val + + if k not in self.all_globals_in_order: + self.all_globals_in_order.append(k) + + # filter out globals that don't exist at this execution point + # (because they've been, say, deleted with 'del') + ordered_globals = [e for e in self.all_globals_in_order if e in encoded_globals] + assert len(ordered_globals) == len(encoded_globals) + + + # merge zombie_encoded_stack_locals and encoded_stack_locals + # into one master ordered list using some simple rules for + # making it look aesthetically pretty + stack_to_render = []; + + # first push all regular stack entries + if encoded_stack_locals: + for e in encoded_stack_locals: + e['is_zombie'] = False + e['is_highlighted'] = False + stack_to_render.append(e) + + # highlight the top-most active stack entry + stack_to_render[0]['is_highlighted'] = True + + + # now push all zombie stack entries + for e in zombie_encoded_stack_locals: + # don't display return value for zombie frames + # TODO: reconsider ... + ''' + try: + e['ordered_varnames'].remove('__return__') + except ValueError: + pass + ''' + + e['is_zombie'] = True + e['is_highlighted'] = False # never highlight zombie entries + + stack_to_render.append(e) + + # now sort by frame_id since that sorts frames in "chronological + # order" based on the order they were invoked + stack_to_render.sort(key=lambda e: e['frame_id']) + + + + # create a unique hash for this stack entry, so that the + # frontend can uniquely identify it when doing incremental + # rendering. the strategy is to use a frankenstein-like mix of the + # relevant fields to properly disambiguate closures and recursive + # calls to the same function + for e in stack_to_render: + hash_str = e['func_name'] + # frame_id is UNIQUE, so it can disambiguate recursive calls + hash_str += '_f' + str(e['frame_id']) + + # needed to refresh GUI display ... + if e['is_parent']: + hash_str += '_p' + + # TODO: this is no longer needed, right? (since frame_id is unique) + #if e['parent_frame_id_list']: + # hash_str += '_p' + '_'.join([str(i) for i in e['parent_frame_id_list']]) + if e['is_zombie']: + hash_str += '_z' + + e['unique_hash'] = hash_str + + + trace_entry = dict(line=lineno, + event=event_type, + func_name=tos[0].f_code.co_name, + globals=encoded_globals, + ordered_globals=ordered_globals, + stack_to_render=stack_to_render, + heap=self.encoder.get_heap(), + stdout=get_user_stdout(tos[0])) + + # if there's an exception, then record its info: + if event_type == 'exception': + # always check in f_locals + exc = frame.f_locals['__exception__'] + trace_entry['exception_msg'] = exc[0].__name__ + ': ' + str(exc[1]) + + self.trace.append(trace_entry) + + + # sanity check to make sure the state of the world at a 'call' instruction + # is identical to that at the instruction immediately following it ... + ''' + if len(self.trace) > 1: + cur = self.trace[-1] + prev = self.trace[-2] + if prev['event'] == 'call': + assert cur['globals'] == prev['globals'] + for (s1, s2) in zip(cur['stack_to_render'], prev['stack_to_render']): + assert s1 == s2 + assert cur['heap'] == prev['heap'] + assert cur['stdout'] == prev['stdout'] + ''' + + + if len(self.trace) >= MAX_EXECUTED_LINES: + self.trace.append(dict(event='instruction_limit_reached', exception_msg='(stopped after ' + str(MAX_EXECUTED_LINES) + ' steps to prevent possible infinite loop)')) + self.force_terminate() + + self.forget() + + + def _runscript(self, script_str): + self.executed_script = script_str + + # When bdb sets tracing, a number of call and line events happens + # BEFORE debugger even reaches user's code (and the exact sequence of + # events depends on python version). So we take special measures to + # avoid stopping before we reach the main script (see user_line and + # user_call for details). + self._wait_for_mainpyfile = 1 + + + # ok, let's try to sorta 'sandbox' the user script by not + # allowing certain potentially dangerous operations. + user_builtins = {} + + # ugh, I can't figure out why in Python 2, __builtins__ seems to + # be a dict, but in Python 3, __builtins__ seems to be a module, + # so just handle both cases ... UGLY! + if type(__builtins__) is dict: + builtin_items = __builtins__.items() + else: + assert type(__builtins__) is types.ModuleType + builtin_items = [] + for k in dir(__builtins__): + builtin_items.append((k, getattr(__builtins__, k))) + + for (k, v) in builtin_items: + if k in BANNED_BUILTINS: + continue + elif k == '__import__': + user_builtins[k] = __restricted_import__ + else: + user_builtins[k] = v + + + user_stdout = cStringIO.StringIO() + + sys.stdout = user_stdout + user_globals = {"__name__" : "__main__", + "__builtins__" : user_builtins, + "__user_stdout__" : user_stdout} + + try: + # enforce resource limits RIGHT BEFORE running script_str + + # set ~200MB virtual memory limit AND a 5-second CPU time + # limit (tuned for Webfaction shared hosting) to protect against + # memory bombs such as: + # x = 2 + # while True: x = x*x + if resource_module_loaded and (not self.disable_security_checks): + resource.setrlimit(resource.RLIMIT_AS, (200000000, 200000000)) + resource.setrlimit(resource.RLIMIT_CPU, (5, 5)) + + # protect against unauthorized filesystem accesses ... + resource.setrlimit(resource.RLIMIT_NOFILE, (0, 0)) # no opened files allowed + + # VERY WEIRD. If you activate this resource limitation, it + # ends up generating an EMPTY trace for the following program: + # "x = 0\nfor i in range(10):\n x += 1\n print x\n x += 1\n" + # (at least on my Webfaction hosting with Python 2.7) + #resource.setrlimit(resource.RLIMIT_FSIZE, (0, 0)) # (redundancy for paranoia) + + # sys.modules contains an in-memory cache of already-loaded + # modules, so if you delete modules from here, they will + # need to be re-loaded from the filesystem. + # + # Thus, as an extra precaution, remove these modules so that + # they can't be re-imported without opening a new file, + # which is disallowed by resource.RLIMIT_NOFILE + # + # Of course, this isn't a foolproof solution by any means, + # and it might lead to UNEXPECTED FAILURES later in execution. + del sys.modules['os'] + del sys.modules['sys'] + + self.run(script_str, user_globals, user_globals) + # sys.exit ... + except SystemExit: + #sys.exit(0) + raise bdb.BdbQuit + except: + if DEBUG: + traceback.print_exc() + + trace_entry = dict(event='uncaught_exception') + + (exc_type, exc_val, exc_tb) = sys.exc_info() + if hasattr(exc_val, 'lineno'): + trace_entry['line'] = exc_val.lineno + if hasattr(exc_val, 'offset'): + trace_entry['offset'] = exc_val.offset + + trace_entry['exception_msg'] = type(exc_val).__name__ + ": " + str(exc_val) + + # SUPER SUBTLE! if this exact same exception has already been + # recorded by the program, then DON'T record it again as an + # uncaught_exception + already_caught = False + for e in self.trace: + if e['event'] == 'exception' and e['exception_msg'] == trace_entry['exception_msg']: + already_caught = True + break + + if not already_caught: + self.trace.append(trace_entry) + + raise bdb.BdbQuit # need to forceably STOP execution + + + def force_terminate(self): + #self.finalize() + raise bdb.BdbQuit # need to forceably STOP execution + + + def finalize(self): + sys.stdout = self.GAE_STDOUT # very important! + + assert len(self.trace) <= (MAX_EXECUTED_LINES + 1) + + # don't do this anymore ... + ''' + # filter all entries after 'return' from '', since they + # seem extraneous: + res = [] + for e in self.trace: + res.append(e) + if e['event'] == 'return' and e['func_name'] == '': + break + ''' + + res = self.trace + + # if the SECOND to last entry is an 'exception' + # and the last entry is return from , then axe the last + # entry, for aesthetic reasons :) + if len(res) >= 2 and \ + res[-2]['event'] == 'exception' and \ + res[-1]['event'] == 'return' and res[-1]['func_name'] == '': + res.pop() + + self.trace = res + + return self.finalizer_func(self.executed_script, self.trace) + + + +# the MAIN meaty function!!! +def exec_script_str(script_str, cumulative_mode, finalizer_func): + logger = PGLogger(cumulative_mode, finalizer_func) + + try: + logger._runscript(script_str) + except bdb.BdbQuit: + pass + finally: + logger.finalize() + + +# disables security check and returns the result of finalizer_func +# WARNING: ONLY RUN THIS LOCALLY and never over the web, since +# security checks are disabled +def exec_script_str_local(script_str, cumulative_mode, finalizer_func): + logger = PGLogger(cumulative_mode, finalizer_func, disable_security_checks=True) + + try: + logger._runscript(script_str) + except bdb.BdbQuit: + pass + finally: + return logger.finalize() + diff --git a/v3/pythontutor.py b/v3/pythontutor.py new file mode 100644 index 000000000..0deb959f4 --- /dev/null +++ b/v3/pythontutor.py @@ -0,0 +1,90 @@ +# Online Python Tutor +# https://github.com/pgbovine/OnlinePythonTutor/ +# +# Copyright (C) 2010-2012 Philip J. Guo (philip@pgbovine.net) +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +# TODO: if we want to enable concurrent requests, then make sure this is threadsafe (e.g., no mutable globals) +# then add this string to app.yaml: 'threadsafe: true' + +import webapp2 +import pg_logger +import json +import jinja2, os +import sys + + +# TODO: this croaks for some reason ... +TEST_STR = "import os\nos.chdir('/')" + + +JINJA_ENVIRONMENT = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(__file__))) + + +class TutorPage(webapp2.RequestHandler): + + def get(self): + self.response.headers['Content-Type'] = 'text/html' + template = JINJA_ENVIRONMENT.get_template('visualize.html') + self.response.out.write(template.render()) + + +class IframeEmbedPage(webapp2.RequestHandler): + def get(self): + self.response.headers['Content-Type'] = 'text/html' + template = JINJA_ENVIRONMENT.get_template('iframe-embed.html') + self.response.out.write(template.render()) + + +class LessonPage(webapp2.RequestHandler): + + def get(self): + self.response.headers['Content-Type'] = 'text/html' + template = JINJA_ENVIRONMENT.get_template('lesson.html') + self.response.out.write(template.render()) + + +class ExecScript(webapp2.RequestHandler): + + def json_finalizer(self, input_code, output_trace): + ret = dict(code=input_code, trace=output_trace) + json_output = json.dumps(ret, indent=None) # use indent=None for most compact repr + self.response.out.write(json_output) + + def get(self): + self.response.headers['Content-Type'] = 'application/json' + self.response.headers['Cache-Control'] = 'no-cache' + + # convert from string to a Python boolean ... + cumulative_mode = (self.request.get('cumulative_mode') == 'true') + + pg_logger.exec_script_str(self.request.get('user_script'), + cumulative_mode, + self.json_finalizer) + + +app = webapp2.WSGIApplication([('/', TutorPage), + ('/iframe-embed.html', IframeEmbedPage), + ('/lesson.html', LessonPage), + ('/exec', ExecScript)], + debug=True) + diff --git a/v3/tests/backend-tests/caught_exception_1.golden b/v3/tests/backend-tests/caught_exception_1.golden new file mode 100644 index 000000000..2418eb530 --- /dev/null +++ b/v3/tests/backend-tests/caught_exception_1.golden @@ -0,0 +1,66 @@ +{ + "code": "try:\n x = 1 / 0\nexcept:\n print(\"DIVIDE BY ZERO\")\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "exception_msg": "ZeroDivisionError: integer division or modulo by zero", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "exception" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "DIVIDE BY ZERO\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/caught_exception_1.golden_py3 b/v3/tests/backend-tests/caught_exception_1.golden_py3 new file mode 100644 index 000000000..b9d796a10 --- /dev/null +++ b/v3/tests/backend-tests/caught_exception_1.golden_py3 @@ -0,0 +1,66 @@ +{ + "code": "try:\n x = 1 / 0\nexcept:\n print(\"DIVIDE BY ZERO\")\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "exception_msg": "ZeroDivisionError: division by zero", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "exception" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "DIVIDE BY ZERO\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/caught_exception_1.txt b/v3/tests/backend-tests/caught_exception_1.txt new file mode 100644 index 000000000..ad24ed88b --- /dev/null +++ b/v3/tests/backend-tests/caught_exception_1.txt @@ -0,0 +1,5 @@ +try: + x = 1 / 0 +except: + print("DIVIDE BY ZERO") + diff --git a/v3/tests/backend-tests/caught_exception_2.golden b/v3/tests/backend-tests/caught_exception_2.golden new file mode 100644 index 000000000..a1452b2f6 --- /dev/null +++ b/v3/tests/backend-tests/caught_exception_2.golden @@ -0,0 +1,77 @@ +{ + "code": "# caught exception:\ntry:\n x = 1 / 0\nexcept:\n print(\"DIVIDE BY ZERO\")\n\n\n# uncaught:\nprint(y)\n\nprint(\"should not reach here\")\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "exception_msg": "ZeroDivisionError: integer division or modulo by zero", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "exception" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "DIVIDE BY ZERO\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "DIVIDE BY ZERO\n", + "exception_msg": "NameError: name 'y' is not defined", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 9, + "event": "exception" + } + ] +} diff --git a/v3/tests/backend-tests/caught_exception_2.golden_py3 b/v3/tests/backend-tests/caught_exception_2.golden_py3 new file mode 100644 index 000000000..c0fb9edc3 --- /dev/null +++ b/v3/tests/backend-tests/caught_exception_2.golden_py3 @@ -0,0 +1,77 @@ +{ + "code": "# caught exception:\ntry:\n x = 1 / 0\nexcept:\n print(\"DIVIDE BY ZERO\")\n\n\n# uncaught:\nprint(y)\n\nprint(\"should not reach here\")\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "exception_msg": "ZeroDivisionError: division by zero", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "exception" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "DIVIDE BY ZERO\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "DIVIDE BY ZERO\n", + "exception_msg": "NameError: name 'y' is not defined", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 9, + "event": "exception" + } + ] +} diff --git a/v3/tests/backend-tests/caught_exception_2.txt b/v3/tests/backend-tests/caught_exception_2.txt new file mode 100644 index 000000000..66768e16c --- /dev/null +++ b/v3/tests/backend-tests/caught_exception_2.txt @@ -0,0 +1,12 @@ +# caught exception: +try: + x = 1 / 0 +except: + print("DIVIDE BY ZERO") + + +# uncaught: +print(y) + +print("should not reach here") + diff --git a/v3/tests/backend-tests/circ_ref.golden b/v3/tests/backend-tests/circ_ref.golden new file mode 100644 index 000000000..ea8bc5c65 --- /dev/null +++ b/v3/tests/backend-tests/circ_ref.golden @@ -0,0 +1,65 @@ +{ + "code": "# true circular reference\n\nx = [1, 2]\nx.append(x)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + [ + "REF", + 1 + ] + ] + }, + "line": 4, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/circ_ref.golden_py3 b/v3/tests/backend-tests/circ_ref.golden_py3 new file mode 100644 index 000000000..ea8bc5c65 --- /dev/null +++ b/v3/tests/backend-tests/circ_ref.golden_py3 @@ -0,0 +1,65 @@ +{ + "code": "# true circular reference\n\nx = [1, 2]\nx.append(x)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + [ + "REF", + 1 + ] + ] + }, + "line": 4, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/circ_ref.txt b/v3/tests/backend-tests/circ_ref.txt new file mode 100644 index 000000000..7af6d5e6d --- /dev/null +++ b/v3/tests/backend-tests/circ_ref.txt @@ -0,0 +1,5 @@ +# true circular reference + +x = [1, 2] +x.append(x) + diff --git a/v3/tests/backend-tests/circ_ref_2.golden b/v3/tests/backend-tests/circ_ref_2.golden new file mode 100644 index 000000000..c1fb56894 --- /dev/null +++ b/v3/tests/backend-tests/circ_ref_2.golden @@ -0,0 +1,116 @@ +{ + "code": "# true indirect circular reference\n\nx = [1, 2]\ny = [3, 4, x]\nx.append(y)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ], + "2": [ + "LIST", + 3, + 4, + [ + "REF", + 1 + ] + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + [ + "REF", + 2 + ] + ], + "2": [ + "LIST", + 3, + 4, + [ + "REF", + 1 + ] + ] + }, + "line": 5, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/circ_ref_2.golden_py3 b/v3/tests/backend-tests/circ_ref_2.golden_py3 new file mode 100644 index 000000000..c1fb56894 --- /dev/null +++ b/v3/tests/backend-tests/circ_ref_2.golden_py3 @@ -0,0 +1,116 @@ +{ + "code": "# true indirect circular reference\n\nx = [1, 2]\ny = [3, 4, x]\nx.append(y)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ], + "2": [ + "LIST", + 3, + 4, + [ + "REF", + 1 + ] + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + [ + "REF", + 2 + ] + ], + "2": [ + "LIST", + 3, + 4, + [ + "REF", + 1 + ] + ] + }, + "line": 5, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/circ_ref_2.txt b/v3/tests/backend-tests/circ_ref_2.txt new file mode 100644 index 000000000..49502c869 --- /dev/null +++ b/v3/tests/backend-tests/circ_ref_2.txt @@ -0,0 +1,6 @@ +# true indirect circular reference + +x = [1, 2] +y = [3, 4, x] +x.append(y) + diff --git a/v3/tests/backend-tests/circ_ref_fake.golden b/v3/tests/backend-tests/circ_ref_fake.golden new file mode 100644 index 000000000..11e8e7d50 --- /dev/null +++ b/v3/tests/backend-tests/circ_ref_fake.golden @@ -0,0 +1,168 @@ +{ + "code": "# not a true circular reference\n\na = [10, 20, 30]\nb = a\nc = [10, 20, 30]\nd = (a, b, c)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "a", + "b" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ], + "b": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "a", + "b", + "c" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ], + "c": [ + "REF", + 2 + ], + "b": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10, + 20, + 30 + ], + "2": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "a", + "b", + "c", + "d" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ], + "c": [ + "REF", + 2 + ], + "b": [ + "REF", + 1 + ], + "d": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "LIST", + 10, + 20, + 30 + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "TUPLE", + [ + "REF", + 1 + ], + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ] + }, + "line": 6, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/circ_ref_fake.golden_py3 b/v3/tests/backend-tests/circ_ref_fake.golden_py3 new file mode 100644 index 000000000..11e8e7d50 --- /dev/null +++ b/v3/tests/backend-tests/circ_ref_fake.golden_py3 @@ -0,0 +1,168 @@ +{ + "code": "# not a true circular reference\n\na = [10, 20, 30]\nb = a\nc = [10, 20, 30]\nd = (a, b, c)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "a", + "b" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ], + "b": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "a", + "b", + "c" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ], + "c": [ + "REF", + 2 + ], + "b": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10, + 20, + 30 + ], + "2": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "a", + "b", + "c", + "d" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ], + "c": [ + "REF", + 2 + ], + "b": [ + "REF", + 1 + ], + "d": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "LIST", + 10, + 20, + 30 + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "TUPLE", + [ + "REF", + 1 + ], + [ + "REF", + 1 + ], + [ + "REF", + 2 + ] + ] + }, + "line": 6, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/circ_ref_fake.txt b/v3/tests/backend-tests/circ_ref_fake.txt new file mode 100644 index 000000000..3bbcc94f2 --- /dev/null +++ b/v3/tests/backend-tests/circ_ref_fake.txt @@ -0,0 +1,7 @@ +# not a true circular reference + +a = [10, 20, 30] +b = a +c = [10, 20, 30] +d = (a, b, c) + diff --git a/v3/tests/backend-tests/class_test.golden b/v3/tests/backend-tests/class_test.golden new file mode 100644 index 000000000..b0c902883 --- /dev/null +++ b/v3/tests/backend-tests/class_test.golden @@ -0,0 +1,2725 @@ +{ + "code": "class Point:\n def __init__(self, x, y):\n self.x = x\n self.y = y\n \n def __str__(self):\n return \"(%d, %d)\" % (self.x, self.y)\n\np = Point(1, 2)\nprint(p)\np2 = Point(3, -4)\nprint(p2)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Point", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Point", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Point_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Point", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Point", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Point_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Point", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Point", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Point_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Point", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Point", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p", + "ordered_varnames": [ + "__init__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Point", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Point", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "Point" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + } + ], + "globals": { + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1, + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "x", + "y" + ] + } + ], + "globals": { + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "Point" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1, + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "x", + "y" + ] + } + ], + "globals": { + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1, + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "x", + "y" + ] + } + ], + "globals": { + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1, + "self": [ + "REF", + 5 + ], + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "x", + "y", + "__return__" + ] + } + ], + "globals": { + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "", + "func_name": "__str__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__str__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__str___f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "", + "func_name": "__str__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__str__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__str___f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "", + "func_name": "__str__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": "(1, 2)", + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__str__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__str___f3", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "(1, 2)\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "(1, 2)\n", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": -4, + "x": 3, + "self": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "x", + "y" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "(1, 2)\n", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": -4, + "x": 3, + "self": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "x", + "y" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "(1, 2)\n", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": -4, + "x": 3, + "self": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "x", + "y" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "(1, 2)\n", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": -4, + "x": 3, + "self": [ + "REF", + 6 + ], + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "x", + "y", + "__return__" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ], + [ + "y", + -4 + ] + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "Point", + "p", + "p2" + ], + "stdout": "(1, 2)\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + } + ], + "globals": { + "p2": [ + "REF", + 6 + ], + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ], + [ + "y", + -4 + ] + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p", + "p2" + ], + "stdout": "(1, 2)\n", + "func_name": "__str__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__str__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__str___f5", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "p2": [ + "REF", + 6 + ], + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ], + [ + "y", + -4 + ] + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "Point", + "p", + "p2" + ], + "stdout": "(1, 2)\n", + "func_name": "__str__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__str__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__str___f5", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "p2": [ + "REF", + 6 + ], + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ], + [ + "y", + -4 + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p", + "p2" + ], + "stdout": "(1, 2)\n", + "func_name": "__str__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": "(3, -4)", + "self": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__str__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__str___f5", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "p2": [ + "REF", + 6 + ], + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ], + [ + "y", + -4 + ] + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "Point", + "p", + "p2" + ], + "stdout": "(1, 2)\n(3, -4)\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + } + ], + "globals": { + "p2": [ + "REF", + 6 + ], + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "2": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__doc__", + null + ] + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ], + [ + "y", + -4 + ] + ] + }, + "line": 12, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/class_test.golden_py3 b/v3/tests/backend-tests/class_test.golden_py3 new file mode 100644 index 000000000..5d77aed91 --- /dev/null +++ b/v3/tests/backend-tests/class_test.golden_py3 @@ -0,0 +1,2671 @@ +{ + "code": "class Point:\n def __init__(self, x, y):\n self.x = x\n self.y = y\n \n def __str__(self):\n return \"(%d, %d)\" % (self.x, self.y)\n\np = Point(1, 2)\nprint(p)\np2 = Point(3, -4)\nprint(p2)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Point", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Point", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Point_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Point", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Point", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Point_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Point", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Point", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Point_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Point", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Point", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p", + "ordered_varnames": [ + "__init__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Point", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "Point", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "Point" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + } + ], + "globals": { + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1, + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "x", + "y" + ] + } + ], + "globals": { + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "Point" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1, + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "x", + "y" + ] + } + ], + "globals": { + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1, + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "x", + "y" + ] + } + ], + "globals": { + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1, + "self": [ + "REF", + 5 + ], + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "x", + "y", + "__return__" + ] + } + ], + "globals": { + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "", + "func_name": "__str__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__str__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__str___f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "", + "func_name": "__str__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__str__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__str___f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "", + "func_name": "__str__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": "(1, 2)", + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__str__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__str___f3", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "(1, 2)\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "(1, 2)\n", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": -4, + "x": 3, + "self": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "x", + "y" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "(1, 2)\n", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": -4, + "x": 3, + "self": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "x", + "y" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "(1, 2)\n", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": -4, + "x": 3, + "self": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "x", + "y" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p" + ], + "stdout": "(1, 2)\n", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "y": -4, + "x": 3, + "self": [ + "REF", + 6 + ], + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f4", + "ordered_varnames": [ + "self", + "x", + "y", + "__return__" + ] + } + ], + "globals": { + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ], + [ + "y", + -4 + ] + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "Point", + "p", + "p2" + ], + "stdout": "(1, 2)\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + } + ], + "globals": { + "p2": [ + "REF", + 6 + ], + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ], + [ + "y", + -4 + ] + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p", + "p2" + ], + "stdout": "(1, 2)\n", + "func_name": "__str__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__str__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__str___f5", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "p2": [ + "REF", + 6 + ], + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ], + [ + "y", + -4 + ] + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "Point", + "p", + "p2" + ], + "stdout": "(1, 2)\n", + "func_name": "__str__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "self": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__str__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__str___f5", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "p2": [ + "REF", + 6 + ], + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ], + [ + "y", + -4 + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "Point", + "p", + "p2" + ], + "stdout": "(1, 2)\n", + "func_name": "__str__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": "(3, -4)", + "self": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__str__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__str___f5", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "p2": [ + "REF", + 6 + ], + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ], + [ + "y", + -4 + ] + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "Point", + "p", + "p2" + ], + "stdout": "(1, 2)\n(3, -4)\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "__str__": [ + "REF", + 3 + ], + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "Point", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "Point_f1_p_z", + "ordered_varnames": [ + "__init__", + "__str__", + "__return__" + ] + } + ], + "globals": { + "p2": [ + "REF", + 6 + ], + "p": [ + "REF", + 5 + ], + "Point": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "__str__", + [ + "REF", + 3 + ] + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self, x, y)", + 1 + ], + "3": [ + "FUNCTION", + "__str__(self)", + 1 + ], + "4": [ + "CLASS", + "Point", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "__str__", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "Point", + [ + "x", + 1 + ], + [ + "y", + 2 + ] + ], + "6": [ + "INSTANCE", + "Point", + [ + "x", + 3 + ], + [ + "y", + -4 + ] + ] + }, + "line": 12, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/class_test.txt b/v3/tests/backend-tests/class_test.txt new file mode 100644 index 000000000..77d89420a --- /dev/null +++ b/v3/tests/backend-tests/class_test.txt @@ -0,0 +1,13 @@ +class Point: + def __init__(self, x, y): + self.x = x + self.y = y + + def __str__(self): + return "(%d, %d)" % (self.x, self.y) + +p = Point(1, 2) +print(p) +p2 = Point(3, -4) +print(p2) + diff --git a/v3/tests/backend-tests/class_test_2.golden b/v3/tests/backend-tests/class_test_2.golden new file mode 100644 index 000000000..0ff698aca --- /dev/null +++ b/v3/tests/backend-tests/class_test_2.golden @@ -0,0 +1,285 @@ +{ + "code": "class Outer():\n pass\n\no = Outer()\no.a = 5\no.b = \"Hi\"\nprint(o)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Outer_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Outer_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Outer_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Outer_f1", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "Outer" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "Outer": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "Outer", + [] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "Outer", + "o" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "Outer": [ + "REF", + 2 + ], + "o": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Outer", + [] + ], + "3": [ + "INSTANCE", + "Outer" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "Outer", + "o" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "Outer": [ + "REF", + 2 + ], + "o": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Outer", + [] + ], + "3": [ + "INSTANCE", + "Outer", + [ + "a", + 5 + ] + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "Outer", + "o" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "Outer": [ + "REF", + 2 + ], + "o": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Outer", + [] + ], + "3": [ + "INSTANCE", + "Outer", + [ + "a", + 5 + ], + [ + "b", + "Hi" + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "Outer", + "o" + ], + "stdout": "<__main__.Outer instance at 0xADDR>\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Outer": [ + "REF", + 2 + ], + "o": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Outer", + [] + ], + "3": [ + "INSTANCE", + "Outer", + [ + "a", + 5 + ], + [ + "b", + "Hi" + ] + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/class_test_2.golden_py3 b/v3/tests/backend-tests/class_test_2.golden_py3 new file mode 100644 index 000000000..4b69e54da --- /dev/null +++ b/v3/tests/backend-tests/class_test_2.golden_py3 @@ -0,0 +1,297 @@ +{ + "code": "class Outer():\n pass\n\no = Outer()\no.a = 5\no.b = \"Hi\"\nprint(o)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Outer_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Outer_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Outer_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Outer", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Outer", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Outer_f1", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "Outer" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "Outer": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "Outer", + [] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "Outer", + "o" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "Outer": [ + "REF", + 2 + ], + "o": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Outer", + [] + ], + "3": [ + "INSTANCE", + "Outer" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "Outer", + "o" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "Outer": [ + "REF", + 2 + ], + "o": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Outer", + [] + ], + "3": [ + "INSTANCE", + "Outer", + [ + "a", + 5 + ] + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "Outer", + "o" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "Outer": [ + "REF", + 2 + ], + "o": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Outer", + [] + ], + "3": [ + "INSTANCE", + "Outer", + [ + "a", + 5 + ], + [ + "b", + "Hi" + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "Outer", + "o" + ], + "stdout": "<__main__.Outer object at 0xADDR>\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Outer": [ + "REF", + 2 + ], + "o": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Outer", + [] + ], + "3": [ + "INSTANCE", + "Outer", + [ + "a", + 5 + ], + [ + "b", + "Hi" + ] + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/class_test_2.txt b/v3/tests/backend-tests/class_test_2.txt new file mode 100644 index 000000000..c6532c1b1 --- /dev/null +++ b/v3/tests/backend-tests/class_test_2.txt @@ -0,0 +1,8 @@ +class Outer(): + pass + +o = Outer() +o.a = 5 +o.b = "Hi" +print(o) + diff --git a/v3/tests/backend-tests/class_test_3.golden b/v3/tests/backend-tests/class_test_3.golden new file mode 100644 index 000000000..585a2db68 --- /dev/null +++ b/v3/tests/backend-tests/class_test_3.golden @@ -0,0 +1,641 @@ +{ + "code": "class Staff601:\n course = '6.01'\n building = 34\n room = 501\n\npat = Staff601()\nprint(pat.course)\n\npat.name = 'Pat'\npat.age = 60\npat.role = 'Professor'\n\nprint(pat.building)\npat.building = 32\nprint(pat.building)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "course" + ] + } + ], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course" + ] + } + ], + "globals": {}, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "__return__": [ + "REF", + 1 + ], + "room": 501 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course", + "room", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601", + [ + "name", + "Pat" + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 15, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/class_test_3.golden_py3 b/v3/tests/backend-tests/class_test_3.golden_py3 new file mode 100644 index 000000000..81a87f39f --- /dev/null +++ b/v3/tests/backend-tests/class_test_3.golden_py3 @@ -0,0 +1,673 @@ +{ + "code": "class Staff601:\n course = '6.01'\n building = 34\n room = 501\n\npat = Staff601()\nprint(pat.course)\n\npat.name = 'Pat'\npat.age = 60\npat.role = 'Professor'\n\nprint(pat.building)\npat.building = 32\nprint(pat.building)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "course" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "course", + "6.01" + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "course", + "6.01" + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "Staff601", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "building": 34, + "course": "6.01", + "room": 501, + "__return__": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "Staff601", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "Staff601_f1", + "ordered_varnames": [ + "building", + "course", + "room", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "building", + 34 + ], + [ + "room", + 501 + ], + [ + "course", + "6.01" + ] + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "Staff601" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601", + [ + "name", + "Pat" + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "Staff601", + "pat" + ], + "stdout": "6.01\n34\n32\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "Staff601": [ + "REF", + 2 + ], + "pat": [ + "REF", + 3 + ] + }, + "heap": { + "2": [ + "CLASS", + "Staff601", + [], + [ + "building", + 34 + ], + [ + "course", + "6.01" + ], + [ + "room", + 501 + ] + ], + "3": [ + "INSTANCE", + "Staff601", + [ + "age", + 60 + ], + [ + "building", + 32 + ], + [ + "name", + "Pat" + ], + [ + "role", + "Professor" + ] + ] + }, + "line": 15, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/class_test_3.txt b/v3/tests/backend-tests/class_test_3.txt new file mode 100644 index 000000000..55c604882 --- /dev/null +++ b/v3/tests/backend-tests/class_test_3.txt @@ -0,0 +1,16 @@ +class Staff601: + course = '6.01' + building = 34 + room = 501 + +pat = Staff601() +print(pat.course) + +pat.name = 'Pat' +pat.age = 60 +pat.role = 'Professor' + +print(pat.building) +pat.building = 32 +print(pat.building) + diff --git a/v3/tests/backend-tests/closure-shadow-same-name.golden b/v3/tests/backend-tests/closure-shadow-same-name.golden new file mode 100644 index 000000000..5f17e5c8b --- /dev/null +++ b/v3/tests/backend-tests/closure-shadow-same-name.golden @@ -0,0 +1,505 @@ +{ + "code": "# some of the params in f and g have identical names AND values,\n# so make sure they're all displayed properly\ndef f(x, y, z):\n def g(x, y):\n return x\n return g(x, y)\n\nf(1, 2, 3)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x", + "y", + "z" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x", + "y", + "z" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "z": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "z", + "g" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ], + "2": [ + "FUNCTION", + "g(x, y)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "z": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "z", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ], + "2": [ + "FUNCTION", + "g(x, y)", + 1 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "z": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "z", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ], + "2": [ + "FUNCTION", + "g(x, y)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "z": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "z", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1, + "__return__": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "x", + "y", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ], + "2": [ + "FUNCTION", + "g(x, y)", + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "__return__": 1, + "z": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "z", + "g", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ], + "2": [ + "FUNCTION", + "g(x, y)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "__return__": 1, + "z": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "y", + "z", + "g", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ], + "2": [ + "FUNCTION", + "g(x, y)", + 1 + ] + }, + "line": 8, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/closure-shadow-same-name.golden_py3 b/v3/tests/backend-tests/closure-shadow-same-name.golden_py3 new file mode 100644 index 000000000..5f17e5c8b --- /dev/null +++ b/v3/tests/backend-tests/closure-shadow-same-name.golden_py3 @@ -0,0 +1,505 @@ +{ + "code": "# some of the params in f and g have identical names AND values,\n# so make sure they're all displayed properly\ndef f(x, y, z):\n def g(x, y):\n return x\n return g(x, y)\n\nf(1, 2, 3)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x", + "y", + "z" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "z": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x", + "y", + "z" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "z": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "z", + "g" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ], + "2": [ + "FUNCTION", + "g(x, y)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "z": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "z", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ], + "2": [ + "FUNCTION", + "g(x, y)", + 1 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "z": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "z", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ], + "2": [ + "FUNCTION", + "g(x, y)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "z": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "z", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "y": 2, + "x": 1, + "__return__": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "x", + "y", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ], + "2": [ + "FUNCTION", + "g(x, y)", + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "__return__": 1, + "z": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "z", + "g", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ], + "2": [ + "FUNCTION", + "g(x, y)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "__return__": 1, + "z": 3, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "y", + "z", + "g", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y, z)", + null + ], + "2": [ + "FUNCTION", + "g(x, y)", + 1 + ] + }, + "line": 8, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/closure-shadow-same-name.txt b/v3/tests/backend-tests/closure-shadow-same-name.txt new file mode 100644 index 000000000..13d20e618 --- /dev/null +++ b/v3/tests/backend-tests/closure-shadow-same-name.txt @@ -0,0 +1,8 @@ +# some of the params in f and g have identical names AND values, +# so make sure they're all displayed properly +def f(x, y, z): + def g(x, y): + return x + return g(x, y) + +f(1, 2, 3) diff --git a/v3/tests/backend-tests/cmodule.golden b/v3/tests/backend-tests/cmodule.golden new file mode 100644 index 000000000..e29fbc456 --- /dev/null +++ b/v3/tests/backend-tests/cmodule.golden @@ -0,0 +1,37 @@ +{ + "code": "# importing some C-ish module ...\n# make sure this doesn't crash in Python 2 or 3\nfrom datetime import datetime_CAPI\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "datetime_CAPI" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "datetime_CAPI": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "PyCapsule", + "" + ] + }, + "line": 3, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/cmodule.golden_py3 b/v3/tests/backend-tests/cmodule.golden_py3 new file mode 100644 index 000000000..562a7996a --- /dev/null +++ b/v3/tests/backend-tests/cmodule.golden_py3 @@ -0,0 +1,37 @@ +{ + "code": "# importing some C-ish module ...\n# make sure this doesn't crash in Python 2 or 3\nfrom datetime import datetime_CAPI\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "datetime_CAPI" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "datetime_CAPI": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "PyCapsule" + ] + }, + "line": 3, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/cmodule.txt b/v3/tests/backend-tests/cmodule.txt new file mode 100644 index 000000000..53bb90850 --- /dev/null +++ b/v3/tests/backend-tests/cmodule.txt @@ -0,0 +1,3 @@ +# importing some C-ish module ... +# make sure this doesn't crash in Python 2 or 3 +from datetime import datetime_CAPI diff --git a/v3/tests/backend-tests/data_test.golden b/v3/tests/backend-tests/data_test.golden new file mode 100644 index 000000000..68e3251eb --- /dev/null +++ b/v3/tests/backend-tests/data_test.golden @@ -0,0 +1,213 @@ +{ + "code": "x = ('hello', 'world', 1, 2, 3, 'goodbye')\ny = list(x)\nz = set(x)\nw = {\"joe\" : 5, \"mindy\" : 6, \"jack\" : 7}\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ], + "2": [ + "LIST", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ], + "2": [ + "LIST", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ], + "3": [ + "SET", + 1, + 2, + 3, + "goodbye", + "world", + "hello" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "w" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 3 + ], + "w": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "TUPLE", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ], + "2": [ + "LIST", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ], + "3": [ + "SET", + 1, + 2, + 3, + "goodbye", + "world", + "hello" + ], + "4": [ + "DICT", + [ + "mindy", + 6 + ], + [ + "joe", + 5 + ], + [ + "jack", + 7 + ] + ] + }, + "line": 4, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/data_test.golden_py3 b/v3/tests/backend-tests/data_test.golden_py3 new file mode 100644 index 000000000..68e3251eb --- /dev/null +++ b/v3/tests/backend-tests/data_test.golden_py3 @@ -0,0 +1,213 @@ +{ + "code": "x = ('hello', 'world', 1, 2, 3, 'goodbye')\ny = list(x)\nz = set(x)\nw = {\"joe\" : 5, \"mindy\" : 6, \"jack\" : 7}\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ], + "2": [ + "LIST", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 3 + ] + }, + "heap": { + "1": [ + "TUPLE", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ], + "2": [ + "LIST", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ], + "3": [ + "SET", + 1, + 2, + 3, + "goodbye", + "world", + "hello" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "w" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 3 + ], + "w": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "TUPLE", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ], + "2": [ + "LIST", + "hello", + "world", + 1, + 2, + 3, + "goodbye" + ], + "3": [ + "SET", + 1, + 2, + 3, + "goodbye", + "world", + "hello" + ], + "4": [ + "DICT", + [ + "mindy", + 6 + ], + [ + "joe", + 5 + ], + [ + "jack", + 7 + ] + ] + }, + "line": 4, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/data_test.txt b/v3/tests/backend-tests/data_test.txt new file mode 100644 index 000000000..664717167 --- /dev/null +++ b/v3/tests/backend-tests/data_test.txt @@ -0,0 +1,4 @@ +x = ('hello', 'world', 1, 2, 3, 'goodbye') +y = list(x) +z = set(x) +w = {"joe" : 5, "mindy" : 6, "jack" : 7} diff --git a/v3/tests/backend-tests/dict_error.golden b/v3/tests/backend-tests/dict_error.golden new file mode 100644 index 000000000..1d65cbe41 --- /dev/null +++ b/v3/tests/backend-tests/dict_error.golden @@ -0,0 +1,207 @@ +{ + "code": "def foo():\n local_y[('tup', 'le')] = set([1, 2, 3])\n\nfoo()\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "exception_msg": "NameError: global name 'local_y' is not defined", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 2, + "event": "exception" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "exception_msg": "NameError: global name 'local_y' is not defined", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 4, + "event": "exception" + } + ] +} diff --git a/v3/tests/backend-tests/dict_error.golden_py3 b/v3/tests/backend-tests/dict_error.golden_py3 new file mode 100644 index 000000000..1d65cbe41 --- /dev/null +++ b/v3/tests/backend-tests/dict_error.golden_py3 @@ -0,0 +1,207 @@ +{ + "code": "def foo():\n local_y[('tup', 'le')] = set([1, 2, 3])\n\nfoo()\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "exception_msg": "NameError: global name 'local_y' is not defined", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 2, + "event": "exception" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "foo" + ], + "stdout": "", + "exception_msg": "NameError: global name 'local_y' is not defined", + "func_name": "", + "stack_to_render": [], + "globals": { + "foo": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 4, + "event": "exception" + } + ] +} diff --git a/v3/tests/backend-tests/dict_error.txt b/v3/tests/backend-tests/dict_error.txt new file mode 100644 index 000000000..fb6ed90ee --- /dev/null +++ b/v3/tests/backend-tests/dict_error.txt @@ -0,0 +1,4 @@ +def foo(): + local_y[('tup', 'le')] = set([1, 2, 3]) + +foo() diff --git a/v3/tests/backend-tests/dict_test.golden b/v3/tests/backend-tests/dict_test.golden new file mode 100644 index 000000000..0c05ae2da --- /dev/null +++ b/v3/tests/backend-tests/dict_test.golden @@ -0,0 +1,730 @@ +{ + "code": "x = {1 : 2}\nx[('tup', 'le')] = set([1, 2, 3])\n\ndef foo():\n local_x = {1 : 2}\n local_y = {}\n local_y[('tup', 'le')] = set([1, 2, 3])\n print(\"hello\", list(local_y.values()))\n\nfoo()\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ] + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "local_x": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "local_x" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ], + "5": [ + "DICT", + [ + 1, + 2 + ] + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "local_y": [ + "REF", + 6 + ], + "local_x": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "local_x", + "local_y" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ], + "5": [ + "DICT", + [ + 1, + 2 + ] + ], + "6": [ + "DICT" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "local_y": [ + "REF", + 6 + ], + "local_x": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "local_x", + "local_y" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ], + "5": [ + "DICT", + [ + 1, + 2 + ] + ], + "6": [ + "DICT", + [ + [ + "REF", + 7 + ], + [ + "REF", + 8 + ] + ] + ], + "7": [ + "TUPLE", + "tup", + "le" + ], + "8": [ + "SET", + 1, + 2, + 3 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "('hello', [set([1, 2, 3])])\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "local_y": [ + "REF", + 6 + ], + "local_x": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "local_x", + "local_y", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ], + "5": [ + "DICT", + [ + 1, + 2 + ] + ], + "6": [ + "DICT", + [ + [ + "REF", + 7 + ], + [ + "REF", + 8 + ] + ] + ], + "7": [ + "TUPLE", + "tup", + "le" + ], + "8": [ + "SET", + 1, + 2, + 3 + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "('hello', [set([1, 2, 3])])\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 10, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/dict_test.golden_py3 b/v3/tests/backend-tests/dict_test.golden_py3 new file mode 100644 index 000000000..cb382cbf5 --- /dev/null +++ b/v3/tests/backend-tests/dict_test.golden_py3 @@ -0,0 +1,730 @@ +{ + "code": "x = {1 : 2}\nx[('tup', 'le')] = set([1, 2, 3])\n\ndef foo():\n local_x = {1 : 2}\n local_y = {}\n local_y[('tup', 'le')] = set([1, 2, 3])\n print(\"hello\", list(local_y.values()))\n\nfoo()\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ] + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "local_x": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "local_x" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ], + "5": [ + "DICT", + [ + 1, + 2 + ] + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "local_y": [ + "REF", + 6 + ], + "local_x": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "local_x", + "local_y" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ], + "5": [ + "DICT", + [ + 1, + 2 + ] + ], + "6": [ + "DICT" + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "local_y": [ + "REF", + 6 + ], + "local_x": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "local_x", + "local_y" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ], + "5": [ + "DICT", + [ + 1, + 2 + ] + ], + "6": [ + "DICT", + [ + [ + "REF", + 7 + ], + [ + "REF", + 8 + ] + ] + ], + "7": [ + "TUPLE", + "tup", + "le" + ], + "8": [ + "SET", + 1, + 2, + 3 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "hello [{1, 2, 3}]\n", + "func_name": "foo", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "local_y": [ + "REF", + 6 + ], + "local_x": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "foo", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "foo_f1", + "ordered_varnames": [ + "local_x", + "local_y", + "__return__" + ] + } + ], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ], + "5": [ + "DICT", + [ + 1, + 2 + ] + ], + "6": [ + "DICT", + [ + [ + "REF", + 7 + ], + [ + "REF", + 8 + ] + ] + ], + "7": [ + "TUPLE", + "tup", + "le" + ], + "8": [ + "SET", + 1, + 2, + 3 + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "x", + "foo" + ], + "stdout": "hello [{1, 2, 3}]\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "foo": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + 1, + 2 + ], + [ + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + ], + "2": [ + "TUPLE", + "tup", + "le" + ], + "3": [ + "SET", + 1, + 2, + 3 + ], + "4": [ + "FUNCTION", + "foo()", + null + ] + }, + "line": 10, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/dict_test.txt b/v3/tests/backend-tests/dict_test.txt new file mode 100644 index 000000000..15294a473 --- /dev/null +++ b/v3/tests/backend-tests/dict_test.txt @@ -0,0 +1,10 @@ +x = {1 : 2} +x[('tup', 'le')] = set([1, 2, 3]) + +def foo(): + local_x = {1 : 2} + local_y = {} + local_y[('tup', 'le')] = set([1, 2, 3]) + print("hello", list(local_y.values())) + +foo() diff --git a/v3/tests/backend-tests/exec_test.golden b/v3/tests/backend-tests/exec_test.golden new file mode 100644 index 000000000..38df5b0e7 --- /dev/null +++ b/v3/tests/backend-tests/exec_test.golden @@ -0,0 +1,59 @@ +{ + "code": "exec(\"import os; os.system('echo security breach')\")\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "return" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "return" + }, + { + "exception_msg": "ImportError: os not supported", + "event": "uncaught_exception" + } + ] +} diff --git a/v3/tests/backend-tests/exec_test.golden_py3 b/v3/tests/backend-tests/exec_test.golden_py3 new file mode 100644 index 000000000..f8b44bb26 --- /dev/null +++ b/v3/tests/backend-tests/exec_test.golden_py3 @@ -0,0 +1,26 @@ +{ + "code": "exec(\"import os; os.system('echo security breach')\")\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "exception_msg": "NameError: name 'exec' is not defined", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "exception" + } + ] +} diff --git a/v3/tests/backend-tests/exec_test.txt b/v3/tests/backend-tests/exec_test.txt new file mode 100644 index 000000000..7c8c740c7 --- /dev/null +++ b/v3/tests/backend-tests/exec_test.txt @@ -0,0 +1 @@ +exec("import os; os.system('echo security breach')") diff --git a/v3/tests/backend-tests/func_exception.golden b/v3/tests/backend-tests/func_exception.golden new file mode 100644 index 000000000..08975e74f --- /dev/null +++ b/v3/tests/backend-tests/func_exception.golden @@ -0,0 +1,270 @@ +{ + "code": "def g(x,y):\n print(\"In g\")\n ans = x/y\n return ans\n \ng(5, 0)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 0, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "g_f1", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 0, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "g_f1", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "In g\n", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 0, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "g_f1", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "In g\n", + "exception_msg": "ZeroDivisionError: integer division or modulo by zero", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 0, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "g_f1", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 3, + "event": "exception" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "In g\n", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 0, + "x": 5, + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "g_f1", + "ordered_varnames": [ + "x", + "y", + "__return__" + ] + } + ], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "In g\n", + "exception_msg": "ZeroDivisionError: integer division or modulo by zero", + "func_name": "", + "stack_to_render": [], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 6, + "event": "exception" + } + ] +} diff --git a/v3/tests/backend-tests/func_exception.golden_py3 b/v3/tests/backend-tests/func_exception.golden_py3 new file mode 100644 index 000000000..537097da9 --- /dev/null +++ b/v3/tests/backend-tests/func_exception.golden_py3 @@ -0,0 +1,270 @@ +{ + "code": "def g(x,y):\n print(\"In g\")\n ans = x/y\n return ans\n \ng(5, 0)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 0, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "g_f1", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 0, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "g_f1", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "In g\n", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 0, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "g_f1", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "In g\n", + "exception_msg": "ZeroDivisionError: division by zero", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 0, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "g_f1", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 3, + "event": "exception" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "In g\n", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 0, + "x": 5, + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "g_f1", + "ordered_varnames": [ + "x", + "y", + "__return__" + ] + } + ], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "g" + ], + "stdout": "In g\n", + "exception_msg": "ZeroDivisionError: division by zero", + "func_name": "", + "stack_to_render": [], + "globals": { + "g": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "g(x, y)", + null + ] + }, + "line": 6, + "event": "exception" + } + ] +} diff --git a/v3/tests/backend-tests/func_exception.txt b/v3/tests/backend-tests/func_exception.txt new file mode 100644 index 000000000..991a8253d --- /dev/null +++ b/v3/tests/backend-tests/func_exception.txt @@ -0,0 +1,7 @@ +def g(x,y): + print("In g") + ans = x/y + return ans + +g(5, 0) + diff --git a/v3/tests/backend-tests/generator_test.golden b/v3/tests/backend-tests/generator_test.golden new file mode 100644 index 000000000..845c6114f --- /dev/null +++ b/v3/tests/backend-tests/generator_test.golden @@ -0,0 +1,100 @@ +{ + "code": "x = (e for e in range(10))\ny = x\nz = (e for e in range(10))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 1 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 1 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "generator", + " at 0xADDR>" + ], + "2": [ + "generator", + " at 0xADDR>" + ] + }, + "line": 3, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/generator_test.golden_py3 b/v3/tests/backend-tests/generator_test.golden_py3 new file mode 100644 index 000000000..9a61882ef --- /dev/null +++ b/v3/tests/backend-tests/generator_test.golden_py3 @@ -0,0 +1,100 @@ +{ + "code": "x = (e for e in range(10))\ny = x\nz = (e for e in range(10))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 1 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 1 + ], + "x": [ + "REF", + 1 + ], + "z": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "generator" + ], + "2": [ + "INSTANCE", + "generator" + ] + }, + "line": 3, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/generator_test.txt b/v3/tests/backend-tests/generator_test.txt new file mode 100644 index 000000000..f17609e64 --- /dev/null +++ b/v3/tests/backend-tests/generator_test.txt @@ -0,0 +1,3 @@ +x = (e for e in range(10)) +y = x +z = (e for e in range(10)) diff --git a/v3/tests/backend-tests/generator_use_test.golden b/v3/tests/backend-tests/generator_use_test.golden new file mode 100644 index 000000000..34e21934f --- /dev/null +++ b/v3/tests/backend-tests/generator_use_test.golden @@ -0,0 +1,10982 @@ +{ + "code": "def gen_odds():\n x = 1\n while True:\n yield x\n x += 2\n\nfor i in gen_odds():\n print(i)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds" + ], + "stdout": "", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f1", + "ordered_varnames": [] + } + ], + "globals": { + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds" + ], + "stdout": "", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f1", + "ordered_varnames": [] + } + ], + "globals": { + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds" + ], + "stdout": "", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds" + ], + "stdout": "", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds" + ], + "stdout": "", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f1", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 1, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 1, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 1, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 1, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "__return__": 3, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f2", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 1, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 3, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 3, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 3, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 3, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "__return__": 5, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 3, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 5, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 5, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 5, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 5, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "__return__": 7, + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f4", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 5, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 7, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 7, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 7, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 7, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 7, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 7, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "__return__": 9, + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f5", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 7, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 9, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 9, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 9, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 9, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 9, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 9, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "__return__": 11, + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f6", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 9, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 11, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 11, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 11, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 11, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 11, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 11, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "__return__": 13, + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f7", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 11, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 13, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 13, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 13, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 13, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 13, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 13, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "__return__": 15, + "x": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f8", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 13, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 15, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 15, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 15, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 15, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 15, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 15, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "__return__": 17, + "x": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f9", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 15, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 17, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 17, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 17, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 17, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 17, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 17, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "__return__": 19, + "x": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f10", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 17, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 19, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 19, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + "x": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 19, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + "x": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 19, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + "x": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 19, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + "x": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 19, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + "__return__": 21, + "x": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f11", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 19, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 21, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 21, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 12, + "encoded_locals": { + "x": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 21, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 12, + "encoded_locals": { + "x": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 21, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 12, + "encoded_locals": { + "x": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 21, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 12, + "encoded_locals": { + "x": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 21, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 12, + "encoded_locals": { + "__return__": 23, + "x": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f12", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 21, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 23, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 23, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 13, + "encoded_locals": { + "x": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f13", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 23, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 13, + "encoded_locals": { + "x": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f13", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 23, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 13, + "encoded_locals": { + "x": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f13", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 23, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 13, + "encoded_locals": { + "x": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f13", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 23, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 13, + "encoded_locals": { + "__return__": 25, + "x": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f13", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 23, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 25, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 25, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 14, + "encoded_locals": { + "x": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f14", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 25, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 14, + "encoded_locals": { + "x": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f14", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 25, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 14, + "encoded_locals": { + "x": 27 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f14", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 25, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 14, + "encoded_locals": { + "x": 27 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f14", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 25, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 14, + "encoded_locals": { + "__return__": 27, + "x": 27 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f14", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 25, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 27, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 27, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 15, + "encoded_locals": { + "x": 27 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f15", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 27, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 15, + "encoded_locals": { + "x": 27 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f15", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 27, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 15, + "encoded_locals": { + "x": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f15", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 27, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 15, + "encoded_locals": { + "x": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f15", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 27, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 15, + "encoded_locals": { + "__return__": 29, + "x": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f15", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 27, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 29, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 29, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 16, + "encoded_locals": { + "x": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f16", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 29, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 16, + "encoded_locals": { + "x": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f16", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 29, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 16, + "encoded_locals": { + "x": 31 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f16", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 29, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 16, + "encoded_locals": { + "x": 31 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f16", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 29, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 16, + "encoded_locals": { + "__return__": 31, + "x": 31 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f16", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 29, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 31, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 31, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 17, + "encoded_locals": { + "x": 31 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f17", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 31, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 17, + "encoded_locals": { + "x": 31 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f17", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 31, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 17, + "encoded_locals": { + "x": 33 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f17", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 31, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 17, + "encoded_locals": { + "x": 33 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f17", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 31, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 17, + "encoded_locals": { + "__return__": 33, + "x": 33 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f17", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 31, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 33, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 33, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 18, + "encoded_locals": { + "x": 33 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f18", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 33, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 18, + "encoded_locals": { + "x": 33 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f18", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 33, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 18, + "encoded_locals": { + "x": 35 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f18", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 33, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 18, + "encoded_locals": { + "x": 35 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f18", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 33, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 18, + "encoded_locals": { + "__return__": 35, + "x": 35 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f18", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 33, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 35, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 35, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 19, + "encoded_locals": { + "x": 35 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f19", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 35, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 19, + "encoded_locals": { + "x": 35 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f19", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 35, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 19, + "encoded_locals": { + "x": 37 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f19", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 35, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 19, + "encoded_locals": { + "x": 37 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f19", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 35, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 19, + "encoded_locals": { + "__return__": 37, + "x": 37 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f19", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 35, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 37, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 37, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 20, + "encoded_locals": { + "x": 37 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f20", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 37, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 20, + "encoded_locals": { + "x": 37 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f20", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 37, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 20, + "encoded_locals": { + "x": 39 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f20", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 37, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 20, + "encoded_locals": { + "x": 39 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f20", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 37, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 20, + "encoded_locals": { + "__return__": 39, + "x": 39 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f20", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 37, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 39, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 39, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 21, + "encoded_locals": { + "x": 39 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f21", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 39, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 21, + "encoded_locals": { + "x": 39 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f21", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 39, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 21, + "encoded_locals": { + "x": 41 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f21", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 39, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 21, + "encoded_locals": { + "x": 41 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f21", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 39, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 21, + "encoded_locals": { + "__return__": 41, + "x": 41 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f21", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 39, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 41, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 41, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 22, + "encoded_locals": { + "x": 41 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f22", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 41, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 22, + "encoded_locals": { + "x": 41 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f22", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 41, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 22, + "encoded_locals": { + "x": 43 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f22", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 41, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 22, + "encoded_locals": { + "x": 43 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f22", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 41, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 22, + "encoded_locals": { + "__return__": 43, + "x": 43 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f22", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 41, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 43, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 43, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 23, + "encoded_locals": { + "x": 43 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f23", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 43, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 23, + "encoded_locals": { + "x": 43 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f23", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 43, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 23, + "encoded_locals": { + "x": 45 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f23", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 43, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 23, + "encoded_locals": { + "x": 45 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f23", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 43, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 23, + "encoded_locals": { + "__return__": 45, + "x": 45 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f23", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 43, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 45, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 45, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 24, + "encoded_locals": { + "x": 45 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f24", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 45, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 24, + "encoded_locals": { + "x": 45 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f24", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 45, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 24, + "encoded_locals": { + "x": 47 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f24", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 45, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 24, + "encoded_locals": { + "x": 47 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f24", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 45, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 24, + "encoded_locals": { + "__return__": 47, + "x": 47 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f24", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 45, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 47, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 47, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 25, + "encoded_locals": { + "x": 47 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f25", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 47, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 25, + "encoded_locals": { + "x": 47 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f25", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 47, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 25, + "encoded_locals": { + "x": 49 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f25", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 47, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 25, + "encoded_locals": { + "x": 49 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f25", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 47, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 25, + "encoded_locals": { + "__return__": 49, + "x": 49 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f25", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 47, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 49, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 49, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 26, + "encoded_locals": { + "x": 49 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f26", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 49, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 26, + "encoded_locals": { + "x": 49 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f26", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 49, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 26, + "encoded_locals": { + "x": 51 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f26", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 49, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 26, + "encoded_locals": { + "x": 51 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f26", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 49, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 26, + "encoded_locals": { + "__return__": 51, + "x": 51 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f26", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 49, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 51, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 51, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 27, + "encoded_locals": { + "x": 51 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f27", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 51, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 27, + "encoded_locals": { + "x": 51 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f27", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 51, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 27, + "encoded_locals": { + "x": 53 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f27", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 51, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 27, + "encoded_locals": { + "x": 53 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f27", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 51, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 27, + "encoded_locals": { + "__return__": 53, + "x": 53 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f27", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 51, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 53, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 53, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 28, + "encoded_locals": { + "x": 53 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f28", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 53, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 28, + "encoded_locals": { + "x": 53 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f28", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 53, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 28, + "encoded_locals": { + "x": 55 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f28", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 53, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 28, + "encoded_locals": { + "x": 55 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f28", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 53, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 28, + "encoded_locals": { + "__return__": 55, + "x": 55 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f28", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 53, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 55, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 55, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 29, + "encoded_locals": { + "x": 55 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f29", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 55, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 29, + "encoded_locals": { + "x": 55 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f29", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 55, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 29, + "encoded_locals": { + "x": 57 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f29", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 55, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 29, + "encoded_locals": { + "x": 57 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f29", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 55, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 29, + "encoded_locals": { + "__return__": 57, + "x": 57 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f29", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 55, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 57, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 57, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 30, + "encoded_locals": { + "x": 57 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f30", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 57, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 30, + "encoded_locals": { + "x": 57 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f30", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 57, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 30, + "encoded_locals": { + "x": 59 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f30", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 57, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 30, + "encoded_locals": { + "x": 59 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f30", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 57, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 30, + "encoded_locals": { + "__return__": 59, + "x": 59 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f30", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 57, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 59, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 59, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 31, + "encoded_locals": { + "x": 59 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f31", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 59, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 31, + "encoded_locals": { + "x": 59 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f31", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 59, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 31, + "encoded_locals": { + "x": 61 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f31", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 59, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 31, + "encoded_locals": { + "x": 61 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f31", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 59, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 31, + "encoded_locals": { + "__return__": 61, + "x": 61 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f31", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 59, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 61, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 61, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 32, + "encoded_locals": { + "x": 61 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f32", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 61, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 32, + "encoded_locals": { + "x": 61 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f32", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 61, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 32, + "encoded_locals": { + "x": 63 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f32", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 61, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 32, + "encoded_locals": { + "x": 63 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f32", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 61, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 32, + "encoded_locals": { + "__return__": 63, + "x": 63 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f32", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 61, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 63, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 63, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 33, + "encoded_locals": { + "x": 63 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f33", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 63, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 33, + "encoded_locals": { + "x": 63 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f33", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 63, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 33, + "encoded_locals": { + "x": 65 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f33", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 63, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 33, + "encoded_locals": { + "x": 65 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f33", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 63, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 33, + "encoded_locals": { + "__return__": 65, + "x": 65 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f33", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 63, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 65, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 65, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 34, + "encoded_locals": { + "x": 65 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f34", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 65, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 34, + "encoded_locals": { + "x": 65 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f34", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 65, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 34, + "encoded_locals": { + "x": 67 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f34", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 65, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 34, + "encoded_locals": { + "x": 67 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f34", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 65, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 34, + "encoded_locals": { + "__return__": 67, + "x": 67 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f34", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 65, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 67, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 67, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 35, + "encoded_locals": { + "x": 67 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f35", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 67, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 35, + "encoded_locals": { + "x": 67 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f35", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 67, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 35, + "encoded_locals": { + "x": 69 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f35", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 67, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 35, + "encoded_locals": { + "x": 69 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f35", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 67, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 35, + "encoded_locals": { + "__return__": 69, + "x": 69 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f35", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 67, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 69, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 69, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 36, + "encoded_locals": { + "x": 69 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f36", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 69, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 36, + "encoded_locals": { + "x": 69 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f36", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 69, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 36, + "encoded_locals": { + "x": 71 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f36", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 69, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 36, + "encoded_locals": { + "x": 71 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f36", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 69, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 36, + "encoded_locals": { + "__return__": 71, + "x": 71 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f36", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 69, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 71, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 71, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 37, + "encoded_locals": { + "x": 71 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f37", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 71, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 37, + "encoded_locals": { + "x": 71 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f37", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 71, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 37, + "encoded_locals": { + "x": 73 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f37", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 71, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 37, + "encoded_locals": { + "x": 73 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f37", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 71, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 37, + "encoded_locals": { + "__return__": 73, + "x": 73 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f37", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 71, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 73, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 73, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 38, + "encoded_locals": { + "x": 73 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f38", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 73, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 38, + "encoded_locals": { + "x": 73 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f38", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 73, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 38, + "encoded_locals": { + "x": 75 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f38", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 73, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 38, + "encoded_locals": { + "x": 75 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f38", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 73, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 38, + "encoded_locals": { + "__return__": 75, + "x": 75 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f38", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 73, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 75, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 75, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 39, + "encoded_locals": { + "x": 75 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f39", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 75, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 39, + "encoded_locals": { + "x": 75 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f39", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 75, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 39, + "encoded_locals": { + "x": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f39", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 75, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 39, + "encoded_locals": { + "x": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f39", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 75, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 39, + "encoded_locals": { + "__return__": 77, + "x": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f39", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 75, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 77, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 77, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 40, + "encoded_locals": { + "x": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f40", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 77, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 40, + "encoded_locals": { + "x": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f40", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 77, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 40, + "encoded_locals": { + "x": 79 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f40", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 77, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 40, + "encoded_locals": { + "x": 79 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f40", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 77, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 40, + "encoded_locals": { + "__return__": 79, + "x": 79 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f40", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 77, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 79, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 79, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 41, + "encoded_locals": { + "x": 79 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f41", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 79, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 41, + "encoded_locals": { + "x": 79 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f41", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 79, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 41, + "encoded_locals": { + "x": 81 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f41", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 79, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 41, + "encoded_locals": { + "x": 81 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f41", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 79, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 41, + "encoded_locals": { + "__return__": 81, + "x": 81 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f41", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 79, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 81, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 81, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 42, + "encoded_locals": { + "x": 81 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f42", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 81, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 42, + "encoded_locals": { + "x": 81 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f42", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 81, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 42, + "encoded_locals": { + "x": 83 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f42", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 81, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 42, + "encoded_locals": { + "x": 83 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f42", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 81, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 42, + "encoded_locals": { + "__return__": 83, + "x": 83 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f42", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 81, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 83, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 83, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 43, + "encoded_locals": { + "x": 83 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f43", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 83, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 43, + "encoded_locals": { + "x": 83 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f43", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 83, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 43, + "encoded_locals": { + "x": 85 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f43", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 83, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 43, + "encoded_locals": { + "x": 85 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f43", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 83, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "exception_msg": "(stopped after 300 steps to prevent possible infinite loop)", + "event": "instruction_limit_reached" + } + ] +} diff --git a/v3/tests/backend-tests/generator_use_test.golden_py3 b/v3/tests/backend-tests/generator_use_test.golden_py3 new file mode 100644 index 000000000..5bb2c43a8 --- /dev/null +++ b/v3/tests/backend-tests/generator_use_test.golden_py3 @@ -0,0 +1,10772 @@ +{ + "code": "def gen_odds():\n x = 1\n while True:\n yield x\n x += 2\n\nfor i in gen_odds():\n print(i)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds" + ], + "stdout": "", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f1", + "ordered_varnames": [] + } + ], + "globals": { + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds" + ], + "stdout": "", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f1", + "ordered_varnames": [] + } + ], + "globals": { + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds" + ], + "stdout": "", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds" + ], + "stdout": "", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f1", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds" + ], + "stdout": "", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f1", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 1, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 1, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 1, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "__return__": 3, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f2", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 1, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 3, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 3, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 3, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 3, + "encoded_locals": { + "__return__": 5, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 3, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 5, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 5, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 5, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 4, + "encoded_locals": { + "__return__": 7, + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f4", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 5, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 7, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 7, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 7, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 7 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 7, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 7, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 5, + "encoded_locals": { + "__return__": 9, + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f5", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 7, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 9, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 9, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 9, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 9 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 9, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 9, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 6, + "encoded_locals": { + "__return__": 11, + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f6", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 9, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 11, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 11, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 11, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 11 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 11, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 11, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 7, + "encoded_locals": { + "__return__": 13, + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f7", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 11, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 13, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 13, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 13, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 13, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "x": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 13, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 8, + "encoded_locals": { + "__return__": 15, + "x": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f8", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 13, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 15, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 15, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 15, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 15, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "x": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 15, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 9, + "encoded_locals": { + "__return__": 17, + "x": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f9", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 15, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 17, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 17, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 17, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 17 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 17, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "x": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 17, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 10, + "encoded_locals": { + "__return__": 19, + "x": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f10", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 17, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 19, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 19, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + "x": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 19, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + "x": 19 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 19, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + "x": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 19, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 11, + "encoded_locals": { + "__return__": 21, + "x": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f11", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 19, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 21, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 21, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 12, + "encoded_locals": { + "x": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 21, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 12, + "encoded_locals": { + "x": 21 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 21, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 12, + "encoded_locals": { + "x": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 21, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 12, + "encoded_locals": { + "__return__": 23, + "x": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f12", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 21, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 23, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 23, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 13, + "encoded_locals": { + "x": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f13", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 23, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 13, + "encoded_locals": { + "x": 23 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f13", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 23, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 13, + "encoded_locals": { + "x": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f13", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 23, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 13, + "encoded_locals": { + "__return__": 25, + "x": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f13", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 23, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 25, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 25, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 14, + "encoded_locals": { + "x": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f14", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 25, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 14, + "encoded_locals": { + "x": 25 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f14", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 25, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 14, + "encoded_locals": { + "x": 27 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f14", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 25, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 14, + "encoded_locals": { + "__return__": 27, + "x": 27 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f14", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 25, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 27, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 27, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 15, + "encoded_locals": { + "x": 27 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f15", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 27, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 15, + "encoded_locals": { + "x": 27 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f15", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 27, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 15, + "encoded_locals": { + "x": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f15", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 27, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 15, + "encoded_locals": { + "__return__": 29, + "x": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f15", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 27, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 29, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 29, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 16, + "encoded_locals": { + "x": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f16", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 29, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 16, + "encoded_locals": { + "x": 29 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f16", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 29, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 16, + "encoded_locals": { + "x": 31 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f16", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 29, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 16, + "encoded_locals": { + "__return__": 31, + "x": 31 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f16", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 29, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 31, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 31, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 17, + "encoded_locals": { + "x": 31 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f17", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 31, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 17, + "encoded_locals": { + "x": 31 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f17", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 31, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 17, + "encoded_locals": { + "x": 33 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f17", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 31, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 17, + "encoded_locals": { + "__return__": 33, + "x": 33 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f17", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 31, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 33, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 33, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 18, + "encoded_locals": { + "x": 33 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f18", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 33, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 18, + "encoded_locals": { + "x": 33 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f18", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 33, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 18, + "encoded_locals": { + "x": 35 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f18", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 33, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 18, + "encoded_locals": { + "__return__": 35, + "x": 35 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f18", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 33, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 35, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 35, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 19, + "encoded_locals": { + "x": 35 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f19", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 35, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 19, + "encoded_locals": { + "x": 35 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f19", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 35, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 19, + "encoded_locals": { + "x": 37 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f19", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 35, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 19, + "encoded_locals": { + "__return__": 37, + "x": 37 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f19", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 35, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 37, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 37, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 20, + "encoded_locals": { + "x": 37 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f20", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 37, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 20, + "encoded_locals": { + "x": 37 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f20", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 37, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 20, + "encoded_locals": { + "x": 39 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f20", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 37, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 20, + "encoded_locals": { + "__return__": 39, + "x": 39 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f20", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 37, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 39, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 39, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 21, + "encoded_locals": { + "x": 39 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f21", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 39, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 21, + "encoded_locals": { + "x": 39 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f21", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 39, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 21, + "encoded_locals": { + "x": 41 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f21", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 39, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 21, + "encoded_locals": { + "__return__": 41, + "x": 41 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f21", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 39, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 41, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 41, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 22, + "encoded_locals": { + "x": 41 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f22", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 41, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 22, + "encoded_locals": { + "x": 41 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f22", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 41, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 22, + "encoded_locals": { + "x": 43 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f22", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 41, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 22, + "encoded_locals": { + "__return__": 43, + "x": 43 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f22", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 41, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 43, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 43, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 23, + "encoded_locals": { + "x": 43 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f23", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 43, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 23, + "encoded_locals": { + "x": 43 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f23", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 43, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 23, + "encoded_locals": { + "x": 45 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f23", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 43, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 23, + "encoded_locals": { + "__return__": 45, + "x": 45 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f23", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 43, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 45, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 45, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 24, + "encoded_locals": { + "x": 45 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f24", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 45, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 24, + "encoded_locals": { + "x": 45 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f24", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 45, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 24, + "encoded_locals": { + "x": 47 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f24", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 45, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 24, + "encoded_locals": { + "__return__": 47, + "x": 47 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f24", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 45, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 47, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 47, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 25, + "encoded_locals": { + "x": 47 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f25", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 47, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 25, + "encoded_locals": { + "x": 47 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f25", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 47, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 25, + "encoded_locals": { + "x": 49 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f25", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 47, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 25, + "encoded_locals": { + "__return__": 49, + "x": 49 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f25", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 47, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 49, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 49, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 26, + "encoded_locals": { + "x": 49 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f26", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 49, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 26, + "encoded_locals": { + "x": 49 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f26", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 49, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 26, + "encoded_locals": { + "x": 51 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f26", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 49, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 26, + "encoded_locals": { + "__return__": 51, + "x": 51 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f26", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 49, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 51, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 51, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 27, + "encoded_locals": { + "x": 51 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f27", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 51, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 27, + "encoded_locals": { + "x": 51 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f27", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 51, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 27, + "encoded_locals": { + "x": 53 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f27", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 51, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 27, + "encoded_locals": { + "__return__": 53, + "x": 53 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f27", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 51, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 53, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 53, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 28, + "encoded_locals": { + "x": 53 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f28", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 53, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 28, + "encoded_locals": { + "x": 53 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f28", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 53, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 28, + "encoded_locals": { + "x": 55 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f28", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 53, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 28, + "encoded_locals": { + "__return__": 55, + "x": 55 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f28", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 53, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 55, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 55, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 29, + "encoded_locals": { + "x": 55 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f29", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 55, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 29, + "encoded_locals": { + "x": 55 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f29", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 55, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 29, + "encoded_locals": { + "x": 57 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f29", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 55, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 29, + "encoded_locals": { + "__return__": 57, + "x": 57 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f29", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 55, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 57, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 57, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 30, + "encoded_locals": { + "x": 57 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f30", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 57, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 30, + "encoded_locals": { + "x": 57 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f30", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 57, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 30, + "encoded_locals": { + "x": 59 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f30", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 57, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 30, + "encoded_locals": { + "__return__": 59, + "x": 59 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f30", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 57, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 59, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 59, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 31, + "encoded_locals": { + "x": 59 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f31", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 59, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 31, + "encoded_locals": { + "x": 59 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f31", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 59, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 31, + "encoded_locals": { + "x": 61 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f31", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 59, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 31, + "encoded_locals": { + "__return__": 61, + "x": 61 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f31", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 59, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 61, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 61, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 32, + "encoded_locals": { + "x": 61 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f32", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 61, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 32, + "encoded_locals": { + "x": 61 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f32", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 61, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 32, + "encoded_locals": { + "x": 63 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f32", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 61, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 32, + "encoded_locals": { + "__return__": 63, + "x": 63 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f32", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 61, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 63, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 63, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 33, + "encoded_locals": { + "x": 63 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f33", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 63, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 33, + "encoded_locals": { + "x": 63 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f33", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 63, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 33, + "encoded_locals": { + "x": 65 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f33", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 63, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 33, + "encoded_locals": { + "__return__": 65, + "x": 65 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f33", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 63, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 65, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 65, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 34, + "encoded_locals": { + "x": 65 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f34", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 65, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 34, + "encoded_locals": { + "x": 65 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f34", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 65, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 34, + "encoded_locals": { + "x": 67 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f34", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 65, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 34, + "encoded_locals": { + "__return__": 67, + "x": 67 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f34", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 65, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 67, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 67, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 35, + "encoded_locals": { + "x": 67 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f35", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 67, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 35, + "encoded_locals": { + "x": 67 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f35", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 67, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 35, + "encoded_locals": { + "x": 69 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f35", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 67, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 35, + "encoded_locals": { + "__return__": 69, + "x": 69 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f35", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 67, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 69, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 69, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 36, + "encoded_locals": { + "x": 69 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f36", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 69, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 36, + "encoded_locals": { + "x": 69 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f36", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 69, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 36, + "encoded_locals": { + "x": 71 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f36", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 69, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 36, + "encoded_locals": { + "__return__": 71, + "x": 71 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f36", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 69, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 71, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 71, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 37, + "encoded_locals": { + "x": 71 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f37", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 71, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 37, + "encoded_locals": { + "x": 71 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f37", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 71, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 37, + "encoded_locals": { + "x": 73 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f37", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 71, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 37, + "encoded_locals": { + "__return__": 73, + "x": 73 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f37", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 71, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 73, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 73, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 38, + "encoded_locals": { + "x": 73 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f38", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 73, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 38, + "encoded_locals": { + "x": 73 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f38", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 73, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 38, + "encoded_locals": { + "x": 75 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f38", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 73, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 38, + "encoded_locals": { + "__return__": 75, + "x": 75 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f38", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 73, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 75, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 75, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 39, + "encoded_locals": { + "x": 75 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f39", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 75, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 39, + "encoded_locals": { + "x": 75 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f39", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 75, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 39, + "encoded_locals": { + "x": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f39", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 75, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 39, + "encoded_locals": { + "__return__": 77, + "x": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f39", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 75, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 77, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 77, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 40, + "encoded_locals": { + "x": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f40", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 77, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 40, + "encoded_locals": { + "x": 77 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f40", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 77, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 40, + "encoded_locals": { + "x": 79 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f40", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 77, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 40, + "encoded_locals": { + "__return__": 79, + "x": 79 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f40", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 77, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 79, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 79, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 41, + "encoded_locals": { + "x": 79 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f41", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 79, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 41, + "encoded_locals": { + "x": 79 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f41", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 79, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 41, + "encoded_locals": { + "x": 81 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f41", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 79, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 41, + "encoded_locals": { + "__return__": 81, + "x": 81 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f41", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 79, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 81, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 81, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 42, + "encoded_locals": { + "x": 81 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f42", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 81, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 42, + "encoded_locals": { + "x": 81 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f42", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 81, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 42, + "encoded_locals": { + "x": 83 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f42", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 81, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 42, + "encoded_locals": { + "__return__": 83, + "x": 83 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f42", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 81, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 83, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 83, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 43, + "encoded_locals": { + "x": 83 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f43", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 83, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 43, + "encoded_locals": { + "x": 83 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f43", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 83, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 43, + "encoded_locals": { + "x": 85 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f43", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 83, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 43, + "encoded_locals": { + "__return__": 85, + "x": 85 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f43", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 83, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 85, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 85, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 44, + "encoded_locals": { + "x": 85 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f44", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 85, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 44, + "encoded_locals": { + "x": 85 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f44", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 85, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 44, + "encoded_locals": { + "x": 87 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f44", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 85, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 44, + "encoded_locals": { + "__return__": 87, + "x": 87 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f44", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 85, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 87, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 87, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 45, + "encoded_locals": { + "x": 87 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f45", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 87, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 45, + "encoded_locals": { + "x": 87 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f45", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 87, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 45, + "encoded_locals": { + "x": 89 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f45", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 87, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 45, + "encoded_locals": { + "__return__": 89, + "x": 89 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f45", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 87, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 89, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 89, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 46, + "encoded_locals": { + "x": 89 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f46", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 89, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 46, + "encoded_locals": { + "x": 89 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f46", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 89, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 46, + "encoded_locals": { + "x": 91 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f46", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 89, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 46, + "encoded_locals": { + "__return__": 91, + "x": 91 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f46", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 89, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 91, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 91, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 47, + "encoded_locals": { + "x": 91 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f47", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 91, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 47, + "encoded_locals": { + "x": 91 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f47", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 91, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 47, + "encoded_locals": { + "x": 93 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f47", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 91, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 47, + "encoded_locals": { + "__return__": 93, + "x": 93 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f47", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 91, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 93, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 93, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 48, + "encoded_locals": { + "x": 93 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f48", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 93, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 48, + "encoded_locals": { + "x": 93 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f48", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 93, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 48, + "encoded_locals": { + "x": 95 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f48", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 93, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 48, + "encoded_locals": { + "__return__": 95, + "x": 95 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f48", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 93, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 95, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n95\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 95, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n95\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 49, + "encoded_locals": { + "x": 95 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f49", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 95, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n95\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 49, + "encoded_locals": { + "x": 95 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f49", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 95, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n95\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 49, + "encoded_locals": { + "x": 97 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f49", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 95, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n95\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 49, + "encoded_locals": { + "__return__": 97, + "x": 97 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f49", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "i": 95, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n95\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 97, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n95\n97\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 97, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n95\n97\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 50, + "encoded_locals": { + "x": 97 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f50", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 97, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n95\n97\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 50, + "encoded_locals": { + "x": 97 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f50", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 97, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "gen_odds", + "i" + ], + "stdout": "1\n3\n5\n7\n9\n11\n13\n15\n17\n19\n21\n23\n25\n27\n29\n31\n33\n35\n37\n39\n41\n43\n45\n47\n49\n51\n53\n55\n57\n59\n61\n63\n65\n67\n69\n71\n73\n75\n77\n79\n81\n83\n85\n87\n89\n91\n93\n95\n97\n", + "func_name": "gen_odds", + "stack_to_render": [ + { + "frame_id": 50, + "encoded_locals": { + "x": 99 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "gen_odds", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "gen_odds_f50", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "i": 97, + "gen_odds": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "gen_odds()", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "exception_msg": "(stopped after 300 steps to prevent possible infinite loop)", + "event": "instruction_limit_reached" + } + ] +} diff --git a/v3/tests/backend-tests/generator_use_test.txt b/v3/tests/backend-tests/generator_use_test.txt new file mode 100644 index 000000000..d4aee1010 --- /dev/null +++ b/v3/tests/backend-tests/generator_use_test.txt @@ -0,0 +1,9 @@ +def gen_odds(): + x = 1 + while True: + yield x + x += 2 + +for i in gen_odds(): + print(i) + diff --git a/v3/tests/backend-tests/import_error.golden b/v3/tests/backend-tests/import_error.golden new file mode 100644 index 000000000..05a889187 --- /dev/null +++ b/v3/tests/backend-tests/import_error.golden @@ -0,0 +1,29 @@ +{ + "code": "# should NOT allow for any imports\nimport os\n\nos.system(\"echo security breach\")\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "return" + }, + { + "exception_msg": "ImportError: os not supported", + "event": "uncaught_exception" + } + ] +} diff --git a/v3/tests/backend-tests/import_error.golden_py3 b/v3/tests/backend-tests/import_error.golden_py3 new file mode 100644 index 000000000..05a889187 --- /dev/null +++ b/v3/tests/backend-tests/import_error.golden_py3 @@ -0,0 +1,29 @@ +{ + "code": "# should NOT allow for any imports\nimport os\n\nos.system(\"echo security breach\")\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "return" + }, + { + "exception_msg": "ImportError: os not supported", + "event": "uncaught_exception" + } + ] +} diff --git a/v3/tests/backend-tests/import_error.txt b/v3/tests/backend-tests/import_error.txt new file mode 100644 index 000000000..028a74e54 --- /dev/null +++ b/v3/tests/backend-tests/import_error.txt @@ -0,0 +1,4 @@ +# should NOT allow for any imports +import os + +os.system("echo security breach") diff --git a/v3/tests/backend-tests/infinite_loop.golden b/v3/tests/backend-tests/infinite_loop.golden new file mode 100644 index 000000000..217546644 --- /dev/null +++ b/v3/tests/backend-tests/infinite_loop.golden @@ -0,0 +1,7545 @@ +{ + "code": "# Fibonacci!!!\n\narr = [1, 1]\n\nprint(arr[0])\n\nwhile True:\n print(arr[-1])\n tmp = sum(arr)\n arr.append(tmp)\n del arr[0]\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1, + 2 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 5 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5, + 8 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8, + 13 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13, + 21 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21, + 34 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34, + 55 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55, + 89 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89, + 144 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144, + 233 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233, + 377 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377, + 610 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610, + 987 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987, + 1597 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597, + 2584 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584, + 4181 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181, + 6765 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765, + 10946 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946, + 17711 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711, + 28657 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657, + 46368 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368, + 75025 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025, + 121393 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393, + 196418 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418, + 317811 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811, + 514229 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229, + 832040 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040, + 1346269 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269, + 2178309 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309, + 3524578 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578, + 5702887 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887, + 9227465 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465, + 14930352 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352, + 24157817 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817, + 39088169 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169, + 63245986 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986, + 102334155 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155, + 165580141 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141, + 267914296 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296, + 433494437 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437, + 701408733 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733, + 1134903170 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170, + 1836311903 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903, + 2971215073 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073, + 4807526976 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976, + 7778742049 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049, + 12586269025 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025, + 20365011074 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074, + 32951280099 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099, + 53316291173 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173, + 86267571272 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272, + 139583862445 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445, + 225851433717 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717, + 365435296162 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162, + 591286729879 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879, + 956722026041 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041, + 1548008755920 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920, + 2504730781961 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "exception_msg": "(stopped after 300 steps to prevent possible infinite loop)", + "event": "instruction_limit_reached" + } + ] +} diff --git a/v3/tests/backend-tests/infinite_loop.golden_py3 b/v3/tests/backend-tests/infinite_loop.golden_py3 new file mode 100644 index 000000000..ed5d62820 --- /dev/null +++ b/v3/tests/backend-tests/infinite_loop.golden_py3 @@ -0,0 +1,7560 @@ +{ + "code": "# Fibonacci!!!\n\narr = [1, 1]\n\nprint(arr[0])\n\nwhile True:\n print(arr[-1])\n tmp = sum(arr)\n arr.append(tmp)\n del arr[0]\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 1, + 2 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2, + 3, + 5 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3, + 5, + 8 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 8, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5, + 8, + 13 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 13, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 8, + 13, + 21 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 21, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 13, + 21, + 34 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 34, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 21, + 34, + 55 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 55, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 34, + 55, + 89 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 89, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 55, + 89, + 144 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 144, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 89, + 144, + 233 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 233, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 144, + 233, + 377 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 377, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 233, + 377, + 610 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 610, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 377, + 610, + 987 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 987, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 610, + 987, + 1597 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1597, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 987, + 1597, + 2584 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2584, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1597, + 2584, + 4181 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4181, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2584, + 4181, + 6765 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6765, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4181, + 6765, + 10946 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10946, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6765, + 10946, + 17711 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17711, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10946, + 17711, + 28657 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 28657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17711, + 28657, + 46368 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 46368, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 28657, + 46368, + 75025 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 75025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 46368, + 75025, + 121393 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 121393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 75025, + 121393, + 196418 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 196418, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 121393, + 196418, + 317811 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 317811, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 196418, + 317811, + 514229 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 514229, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 317811, + 514229, + 832040 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 832040, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 514229, + 832040, + 1346269 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1346269, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 832040, + 1346269, + 2178309 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2178309, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1346269, + 2178309, + 3524578 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3524578, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2178309, + 3524578, + 5702887 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 5702887, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 3524578, + 5702887, + 9227465 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 9227465, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 5702887, + 9227465, + 14930352 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 14930352, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 9227465, + 14930352, + 24157817 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 24157817, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 14930352, + 24157817, + 39088169 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 39088169, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 24157817, + 39088169, + 63245986 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 63245986, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 39088169, + 63245986, + 102334155 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 102334155, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 63245986, + 102334155, + 165580141 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 165580141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 102334155, + 165580141, + 267914296 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 267914296, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 165580141, + 267914296, + 433494437 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 433494437, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 267914296, + 433494437, + 701408733 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 701408733, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 433494437, + 701408733, + 1134903170 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1134903170, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 701408733, + 1134903170, + 1836311903 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1836311903, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1134903170, + 1836311903, + 2971215073 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2971215073, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1836311903, + 2971215073, + 4807526976 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4807526976, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2971215073, + 4807526976, + 7778742049 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 7778742049, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4807526976, + 7778742049, + 12586269025 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 12586269025, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 7778742049, + 12586269025, + 20365011074 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 20365011074, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 12586269025, + 20365011074, + 32951280099 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 32951280099, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 20365011074, + 32951280099, + 53316291173 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 53316291173, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 32951280099, + 53316291173, + 86267571272 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 86267571272, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 53316291173, + 86267571272, + 139583862445 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 139583862445, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 86267571272, + 139583862445, + 225851433717 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 225851433717, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 139583862445, + 225851433717, + 365435296162 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 365435296162, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 225851433717, + 365435296162, + 591286729879 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 591286729879, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 365435296162, + 591286729879, + 956722026041 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 956722026041, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 591286729879, + 956722026041, + 1548008755920 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1548008755920, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 956722026041, + 1548008755920, + 2504730781961 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2504730781961, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4052739537881, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4052739537881, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1548008755920, + 2504730781961, + 4052739537881 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4052739537881, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2504730781961, + 4052739537881 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 4052739537881, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2504730781961, + 4052739537881 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6557470319842, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2504730781961, + 4052739537881 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6557470319842, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2504730781961, + 4052739537881, + 6557470319842 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6557470319842, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4052739537881, + 6557470319842 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 6557470319842, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4052739537881, + 6557470319842 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10610209857723, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4052739537881, + 6557470319842 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10610209857723, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 4052739537881, + 6557470319842, + 10610209857723 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10610209857723, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6557470319842, + 10610209857723 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 10610209857723, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6557470319842, + 10610209857723 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17167680177565, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6557470319842, + 10610209857723 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17167680177565, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 6557470319842, + 10610209857723, + 17167680177565 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17167680177565, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10610209857723, + 17167680177565 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 17167680177565, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10610209857723, + 17167680177565 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 27777890035288, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10610209857723, + 17167680177565 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 27777890035288, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 10610209857723, + 17167680177565, + 27777890035288 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 27777890035288, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17167680177565, + 27777890035288 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 27777890035288, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17167680177565, + 27777890035288 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 44945570212853, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17167680177565, + 27777890035288 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 44945570212853, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 17167680177565, + 27777890035288, + 44945570212853 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 44945570212853, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 27777890035288, + 44945570212853 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 44945570212853, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 27777890035288, + 44945570212853 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 72723460248141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 27777890035288, + 44945570212853 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 72723460248141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 27777890035288, + 44945570212853, + 72723460248141 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 72723460248141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 44945570212853, + 72723460248141 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 72723460248141, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 44945570212853, + 72723460248141 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 117669030460994, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 44945570212853, + 72723460248141 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 117669030460994, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 44945570212853, + 72723460248141, + 117669030460994 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 117669030460994, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 72723460248141, + 117669030460994 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 117669030460994, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 72723460248141, + 117669030460994 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 190392490709135, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 72723460248141, + 117669030460994 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 190392490709135, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 72723460248141, + 117669030460994, + 190392490709135 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 190392490709135, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 117669030460994, + 190392490709135 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 190392490709135, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 117669030460994, + 190392490709135 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 308061521170129, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 117669030460994, + 190392490709135 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 308061521170129, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 117669030460994, + 190392490709135, + 308061521170129 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 308061521170129, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 190392490709135, + 308061521170129 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 308061521170129, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 190392490709135, + 308061521170129 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 498454011879264, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 190392490709135, + 308061521170129 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 498454011879264, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 190392490709135, + 308061521170129, + 498454011879264 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 498454011879264, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 308061521170129, + 498454011879264 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 498454011879264, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 308061521170129, + 498454011879264 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 806515533049393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 308061521170129, + 498454011879264 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 806515533049393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 308061521170129, + 498454011879264, + 806515533049393 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 806515533049393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 498454011879264, + 806515533049393 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 806515533049393, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 498454011879264, + 806515533049393 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1304969544928657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 498454011879264, + 806515533049393 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1304969544928657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 498454011879264, + 806515533049393, + 1304969544928657 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1304969544928657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 806515533049393, + 1304969544928657 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 1304969544928657, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 806515533049393, + 1304969544928657 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2111485077978050, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 806515533049393, + 1304969544928657 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2111485077978050, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 806515533049393, + 1304969544928657, + 2111485077978050 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2111485077978050, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1304969544928657, + 2111485077978050 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n2111485077978050\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 2111485077978050, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1304969544928657, + 2111485077978050 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n2111485077978050\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3416454622906707, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1304969544928657, + 2111485077978050 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n2111485077978050\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3416454622906707, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1304969544928657, + 2111485077978050, + 3416454622906707 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "arr", + "tmp" + ], + "stdout": "1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181\n6765\n10946\n17711\n28657\n46368\n75025\n121393\n196418\n317811\n514229\n832040\n1346269\n2178309\n3524578\n5702887\n9227465\n14930352\n24157817\n39088169\n63245986\n102334155\n165580141\n267914296\n433494437\n701408733\n1134903170\n1836311903\n2971215073\n4807526976\n7778742049\n12586269025\n20365011074\n32951280099\n53316291173\n86267571272\n139583862445\n225851433717\n365435296162\n591286729879\n956722026041\n1548008755920\n2504730781961\n4052739537881\n6557470319842\n10610209857723\n17167680177565\n27777890035288\n44945570212853\n72723460248141\n117669030460994\n190392490709135\n308061521170129\n498454011879264\n806515533049393\n1304969544928657\n2111485077978050\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "tmp": 3416454622906707, + "arr": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 2111485077978050, + 3416454622906707 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "exception_msg": "(stopped after 300 steps to prevent possible infinite loop)", + "event": "instruction_limit_reached" + } + ] +} diff --git a/v3/tests/backend-tests/infinite_loop.txt b/v3/tests/backend-tests/infinite_loop.txt new file mode 100644 index 000000000..b480914bb --- /dev/null +++ b/v3/tests/backend-tests/infinite_loop.txt @@ -0,0 +1,12 @@ +# Fibonacci!!! + +arr = [1, 1] + +print(arr[0]) + +while True: + print(arr[-1]) + tmp = sum(arr) + arr.append(tmp) + del arr[0] + diff --git a/v3/tests/backend-tests/infinite_loop_one_liner.golden b/v3/tests/backend-tests/infinite_loop_one_liner.golden new file mode 100644 index 000000000..e28f84304 --- /dev/null +++ b/v3/tests/backend-tests/infinite_loop_one_liner.golden @@ -0,0 +1,3009 @@ +{ + "code": "while 1:\n print(\"hahahaha\")\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "exception_msg": "(stopped after 300 steps to prevent possible infinite loop)", + "event": "instruction_limit_reached" + } + ] +} diff --git a/v3/tests/backend-tests/infinite_loop_one_liner.golden_py3 b/v3/tests/backend-tests/infinite_loop_one_liner.golden_py3 new file mode 100644 index 000000000..e28f84304 --- /dev/null +++ b/v3/tests/backend-tests/infinite_loop_one_liner.golden_py3 @@ -0,0 +1,3009 @@ +{ + "code": "while 1:\n print(\"hahahaha\")\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "hahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\nhahahaha\n", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "exception_msg": "(stopped after 300 steps to prevent possible infinite loop)", + "event": "instruction_limit_reached" + } + ] +} diff --git a/v3/tests/backend-tests/infinite_loop_one_liner.txt b/v3/tests/backend-tests/infinite_loop_one_liner.txt new file mode 100644 index 000000000..6bc80597f --- /dev/null +++ b/v3/tests/backend-tests/infinite_loop_one_liner.txt @@ -0,0 +1,2 @@ +while 1: + print("hahahaha") diff --git a/v3/tests/backend-tests/john-compose.golden b/v3/tests/backend-tests/john-compose.golden new file mode 100644 index 000000000..9acb62b04 --- /dev/null +++ b/v3/tests/backend-tests/john-compose.golden @@ -0,0 +1,1262 @@ +{ + "code": "def compose1(f, g):\n return lambda x: f(g(x))\n\nadd_one_and_square = compose1(lambda x: x * x, lambda x: x + 1)\nresult = add_one_and_square(12)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "compose1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1" + ], + "stdout": "", + "func_name": "compose1", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "compose1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1", + "ordered_varnames": [ + "f", + "g" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "compose1" + ], + "stdout": "", + "func_name": "compose1", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "compose1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1", + "ordered_varnames": [ + "f", + "g" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1" + ], + "stdout": "", + "func_name": "compose1", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "compose1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 13, + "x": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 169, + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 169, + "x": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square", + "result" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ], + "result": 169 + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/john-compose.golden_py3 b/v3/tests/backend-tests/john-compose.golden_py3 new file mode 100644 index 000000000..9acb62b04 --- /dev/null +++ b/v3/tests/backend-tests/john-compose.golden_py3 @@ -0,0 +1,1262 @@ +{ + "code": "def compose1(f, g):\n return lambda x: f(g(x))\n\nadd_one_and_square = compose1(lambda x: x * x, lambda x: x + 1)\nresult = add_one_and_square(12)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "compose1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1" + ], + "stdout": "", + "func_name": "compose1", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "compose1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1", + "ordered_varnames": [ + "f", + "g" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "compose1" + ], + "stdout": "", + "func_name": "compose1", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "compose1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1", + "ordered_varnames": [ + "f", + "g" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1" + ], + "stdout": "", + "func_name": "compose1", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "compose1", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 13, + "x": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 12 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 169, + "x": 13 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 169, + "x": 12 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f2", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "compose1", + "add_one_and_square", + "result" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "g": [ + "REF", + 2 + ], + "f": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "compose1", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "compose1_f1_p_z", + "ordered_varnames": [ + "f", + "g", + "__return__" + ] + } + ], + "globals": { + "compose1": [ + "REF", + 1 + ], + "add_one_and_square": [ + "REF", + 4 + ], + "result": 169 + }, + "heap": { + "1": [ + "FUNCTION", + "compose1(f, g)", + null + ], + "2": [ + "FUNCTION", + "(x)", + null + ], + "3": [ + "FUNCTION", + "(x)", + null + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/john-compose.txt b/v3/tests/backend-tests/john-compose.txt new file mode 100644 index 000000000..4b8767912 --- /dev/null +++ b/v3/tests/backend-tests/john-compose.txt @@ -0,0 +1,5 @@ +def compose1(f, g): + return lambda x: f(g(x)) + +add_one_and_square = compose1(lambda x: x * x, lambda x: x + 1) +result = add_one_and_square(12) diff --git a/v3/tests/backend-tests/john-import-test.golden b/v3/tests/backend-tests/john-import-test.golden new file mode 100644 index 000000000..add78fcb4 --- /dev/null +++ b/v3/tests/backend-tests/john-import-test.golden @@ -0,0 +1,282 @@ +{ + "code": "import math\nimport operator\nimport string\nimport collections\nimport re\nimport json\n\n# causes some errors in regression tests, but fine in GAE ...\n#import random\n#import datetime\n#import functools\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "math" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "math": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "module", + "math" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "math", + "operator" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 2 + ], + "math": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "module", + "math" + ], + "2": [ + "module", + "operator" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "math", + "operator", + "string" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 2 + ], + "string": [ + "REF", + 3 + ], + "math": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "module", + "math" + ], + "2": [ + "module", + "operator" + ], + "3": [ + "module", + "string" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "math", + "operator", + "string", + "collections" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 2 + ], + "collections": [ + "REF", + 4 + ], + "string": [ + "REF", + 3 + ], + "math": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "module", + "math" + ], + "2": [ + "module", + "operator" + ], + "3": [ + "module", + "string" + ], + "4": [ + "module", + "collections" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "math", + "operator", + "string", + "collections", + "re" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 2 + ], + "re": [ + "REF", + 5 + ], + "collections": [ + "REF", + 4 + ], + "string": [ + "REF", + 3 + ], + "math": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "module", + "math" + ], + "2": [ + "module", + "operator" + ], + "3": [ + "module", + "string" + ], + "4": [ + "module", + "collections" + ], + "5": [ + "module", + "re" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "math", + "operator", + "string", + "collections", + "re", + "json" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "string": [ + "REF", + 3 + ], + "re": [ + "REF", + 5 + ], + "json": [ + "REF", + 6 + ], + "collections": [ + "REF", + 4 + ], + "operator": [ + "REF", + 2 + ], + "math": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "module", + "math" + ], + "2": [ + "module", + "operator" + ], + "3": [ + "module", + "string" + ], + "4": [ + "module", + "collections" + ], + "5": [ + "module", + "re" + ], + "6": [ + "module", + "json" + ] + }, + "line": 6, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/john-import-test.golden_py3 b/v3/tests/backend-tests/john-import-test.golden_py3 new file mode 100644 index 000000000..332fa4b5e --- /dev/null +++ b/v3/tests/backend-tests/john-import-test.golden_py3 @@ -0,0 +1,282 @@ +{ + "code": "import math\nimport operator\nimport string\nimport collections\nimport re\nimport json\n\n# causes some errors in regression tests, but fine in GAE ...\n#import random\n#import datetime\n#import functools\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "math" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "math": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "module" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "math", + "operator" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 2 + ], + "math": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "module" + ], + "2": [ + "INSTANCE", + "module" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "math", + "operator", + "string" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 2 + ], + "string": [ + "REF", + 3 + ], + "math": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "module" + ], + "2": [ + "INSTANCE", + "module" + ], + "3": [ + "INSTANCE", + "module" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "math", + "operator", + "string", + "collections" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 2 + ], + "collections": [ + "REF", + 4 + ], + "string": [ + "REF", + 3 + ], + "math": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "module" + ], + "2": [ + "INSTANCE", + "module" + ], + "3": [ + "INSTANCE", + "module" + ], + "4": [ + "INSTANCE", + "module" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "math", + "operator", + "string", + "collections", + "re" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 2 + ], + "re": [ + "REF", + 5 + ], + "collections": [ + "REF", + 4 + ], + "string": [ + "REF", + 3 + ], + "math": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "module" + ], + "2": [ + "INSTANCE", + "module" + ], + "3": [ + "INSTANCE", + "module" + ], + "4": [ + "INSTANCE", + "module" + ], + "5": [ + "INSTANCE", + "module" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "math", + "operator", + "string", + "collections", + "re", + "json" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "string": [ + "REF", + 3 + ], + "re": [ + "REF", + 5 + ], + "json": [ + "REF", + 6 + ], + "collections": [ + "REF", + 4 + ], + "operator": [ + "REF", + 2 + ], + "math": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "module" + ], + "2": [ + "INSTANCE", + "module" + ], + "3": [ + "INSTANCE", + "module" + ], + "4": [ + "INSTANCE", + "module" + ], + "5": [ + "INSTANCE", + "module" + ], + "6": [ + "INSTANCE", + "module" + ] + }, + "line": 6, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/john-import-test.txt b/v3/tests/backend-tests/john-import-test.txt new file mode 100644 index 000000000..fcb15f43f --- /dev/null +++ b/v3/tests/backend-tests/john-import-test.txt @@ -0,0 +1,11 @@ +import math +import operator +import string +import collections +import re +import json + +# causes some errors in regression tests, but fine in GAE ... +#import random +#import datetime +#import functools diff --git a/v3/tests/backend-tests/john-lambda-lambda-mini.golden b/v3/tests/backend-tests/john-lambda-lambda-mini.golden new file mode 100644 index 000000000..fa12e342a --- /dev/null +++ b/v3/tests/backend-tests/john-lambda-lambda-mini.golden @@ -0,0 +1,817 @@ +{ + "code": "def a(b):\n a = b(3)\n a(100)\n\na(lambda a: (lambda b: a))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "a" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "a" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2_p", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b", + "a" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b", + "a" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "b": 100 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "b" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b", + "a" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "b": 100 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "b" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b", + "a" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 3, + "b": 100 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "b", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": [ + "REF", + 3 + ], + "__return__": null, + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b", + "a", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/john-lambda-lambda-mini.golden_py3 b/v3/tests/backend-tests/john-lambda-lambda-mini.golden_py3 new file mode 100644 index 000000000..fa12e342a --- /dev/null +++ b/v3/tests/backend-tests/john-lambda-lambda-mini.golden_py3 @@ -0,0 +1,817 @@ +{ + "code": "def a(b):\n a = b(3)\n a(100)\n\na(lambda a: (lambda b: a))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "a" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "a" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2_p", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b", + "a" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b", + "a" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "b": 100 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "b" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b", + "a" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "b": 100 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "b" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b", + "a" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 3, + "b": 100 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "b", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": [ + "REF", + 3 + ], + "__return__": null, + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b", + "a", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "3": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/john-lambda-lambda-mini.txt b/v3/tests/backend-tests/john-lambda-lambda-mini.txt new file mode 100644 index 000000000..bd8f4edc3 --- /dev/null +++ b/v3/tests/backend-tests/john-lambda-lambda-mini.txt @@ -0,0 +1,5 @@ +def a(b): + a = b(3) + a(100) + +a(lambda a: (lambda b: a)) diff --git a/v3/tests/backend-tests/john-lambda-lambda.golden b/v3/tests/backend-tests/john-lambda-lambda.golden new file mode 100644 index 000000000..c1ddaf182 --- /dev/null +++ b/v3/tests/backend-tests/john-lambda-lambda.golden @@ -0,0 +1,472 @@ +{ + "code": "# another gem from john denero ...\ndef a(b):\n a, b = b(3)\n\na(lambda a: (lambda b: a, a))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "a" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "a" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2_p", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "TUPLE", + [ + "REF", + 4 + ], + 3 + ], + "4": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": [ + "REF", + 4 + ], + "__return__": null, + "b": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b", + "a", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "3": [ + "TUPLE", + [ + "REF", + 4 + ], + 3 + ], + "4": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "3": [ + "TUPLE", + [ + "REF", + 4 + ], + 3 + ], + "4": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/john-lambda-lambda.golden_py3 b/v3/tests/backend-tests/john-lambda-lambda.golden_py3 new file mode 100644 index 000000000..c1ddaf182 --- /dev/null +++ b/v3/tests/backend-tests/john-lambda-lambda.golden_py3 @@ -0,0 +1,472 @@ +{ + "code": "# another gem from john denero ...\ndef a(b):\n a, b = b(3)\n\na(lambda a: (lambda b: a, a))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "a" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "a" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "b": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2_p", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "2": [ + "FUNCTION", + "(a)", + null + ], + "3": [ + "TUPLE", + [ + "REF", + 4 + ], + 3 + ], + "4": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "a", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": [ + "REF", + 4 + ], + "__return__": null, + "b": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "a", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "a_f1", + "ordered_varnames": [ + "b", + "a", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "3": [ + "TUPLE", + [ + "REF", + 4 + ], + 3 + ], + "4": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 3, + "__return__": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "_f2_p_z", + "ordered_varnames": [ + "a", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "a(b)", + null + ], + "3": [ + "TUPLE", + [ + "REF", + 4 + ], + 3 + ], + "4": [ + "FUNCTION", + "(b)", + 2 + ] + }, + "line": 5, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/john-lambda-lambda.txt b/v3/tests/backend-tests/john-lambda-lambda.txt new file mode 100644 index 000000000..61a0d2fb5 --- /dev/null +++ b/v3/tests/backend-tests/john-lambda-lambda.txt @@ -0,0 +1,5 @@ +# another gem from john denero ... +def a(b): + a, b = b(3) + +a(lambda a: (lambda b: a, a)) diff --git a/v3/tests/backend-tests/john-triple-nesting.golden b/v3/tests/backend-tests/john-triple-nesting.golden new file mode 100644 index 000000000..61283f9c5 --- /dev/null +++ b/v3/tests/backend-tests/john-triple-nesting.golden @@ -0,0 +1,11 @@ +{ + "code": "# test in Python 3\ndef f(t):\n def g(t):\n def h():\n nonlocal t\n t += 1\n return h, lambda: t\n h, gt = g(0)\n return h, gt, lambda: t\nh, gt, ft = f(0)\nft(), gt()\nh()\nft(), gt()\n", + "trace": [ + { + "exception_msg": "SyntaxError: invalid syntax (, line 5)", + "line": 5, + "event": "uncaught_exception", + "offset": 22 + } + ] +} diff --git a/v3/tests/backend-tests/john-triple-nesting.golden_py3 b/v3/tests/backend-tests/john-triple-nesting.golden_py3 new file mode 100644 index 000000000..8c9415e9b --- /dev/null +++ b/v3/tests/backend-tests/john-triple-nesting.golden_py3 @@ -0,0 +1,3726 @@ +{ + "code": "# test in Python 3\ndef f(t):\n def g(t):\n def h():\n nonlocal t\n t += 1\n return h, lambda: t\n h, gt = g(0)\n return h, gt, lambda: t\nh, gt, ft = f(0)\nft(), gt()\nh()\nft(), gt()\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "t" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "t" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "t": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "t" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "t": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "t" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p", + "ordered_varnames": [ + "t", + "h" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g", + "h", + "gt" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "h", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "h", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "h_f5", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "h", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 0 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "h", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "h_f5", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "h", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "h", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "h_f5", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 2, + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "h", + "gt", + "ft" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "t": 0, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "t", + "g", + "h", + "gt", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "h": [ + "REF", + 3 + ], + "t": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "g", + "is_zombie": true, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2_p_z", + "ordered_varnames": [ + "t", + "h", + "__return__" + ] + } + ], + "globals": { + "h": [ + "REF", + 3 + ], + "gt": [ + "REF", + 5 + ], + "ft": [ + "REF", + 7 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(t)", + null + ], + "2": [ + "FUNCTION", + "g(t)", + 1 + ], + "3": [ + "FUNCTION", + "h()", + 2 + ], + "4": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ] + ], + "5": [ + "FUNCTION", + "()", + 2 + ], + "6": [ + "TUPLE", + [ + "REF", + 3 + ], + [ + "REF", + 5 + ], + [ + "REF", + 7 + ] + ], + "7": [ + "FUNCTION", + "()", + 1 + ] + }, + "line": 13, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/john-triple-nesting.txt b/v3/tests/backend-tests/john-triple-nesting.txt new file mode 100644 index 000000000..60a949231 --- /dev/null +++ b/v3/tests/backend-tests/john-triple-nesting.txt @@ -0,0 +1,13 @@ +# test in Python 3 +def f(t): + def g(t): + def h(): + nonlocal t + t += 1 + return h, lambda: t + h, gt = g(0) + return h, gt, lambda: t +h, gt, ft = f(0) +ft(), gt() +h() +ft(), gt() diff --git a/v3/tests/backend-tests/lambda_1.golden b/v3/tests/backend-tests/lambda_1.golden new file mode 100644 index 000000000..947c90d9d --- /dev/null +++ b/v3/tests/backend-tests/lambda_1.golden @@ -0,0 +1,5493 @@ +{ + "code": "def summation(low, high, f, next):\n s = 0\n x = low\n while x <= high:\n s = s + f(x)\n x = next(x)\n return s\n\ndef sumsquares(low, high):\n return summation(low, high, lambda x: x**2, lambda x: x+1)\n\nprint(sumsquares(1, 5))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "sumsquares", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1", + "ordered_varnames": [ + "low", + "high" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "sumsquares", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1", + "ordered_varnames": [ + "low", + "high" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "high": 5, + "f": [ + "REF", + 4 + ], + "low": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "high": 5, + "f": [ + "REF", + 4 + ], + "low": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "high": 5, + "s": 0, + "f": [ + "REF", + 4 + ], + "low": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 2, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": 4, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 3, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": 9, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": 4, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "__return__": 16, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": 5, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f10", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": 25, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "__return__": 6, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f12", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "__return__": 55, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "sumsquares", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "__return__": 55, + "low": 1 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "55\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "__return__": 55, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p_z", + "ordered_varnames": [ + "low", + "high", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 12, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/lambda_1.golden_py3 b/v3/tests/backend-tests/lambda_1.golden_py3 new file mode 100644 index 000000000..947c90d9d --- /dev/null +++ b/v3/tests/backend-tests/lambda_1.golden_py3 @@ -0,0 +1,5493 @@ +{ + "code": "def summation(low, high, f, next):\n s = 0\n x = low\n while x <= high:\n s = s + f(x)\n x = next(x)\n return s\n\ndef sumsquares(low, high):\n return summation(low, high, lambda x: x**2, lambda x: x+1)\n\nprint(sumsquares(1, 5))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "sumsquares", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1", + "ordered_varnames": [ + "low", + "high" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 9, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "sumsquares", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1", + "ordered_varnames": [ + "low", + "high" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "high": 5, + "f": [ + "REF", + 4 + ], + "low": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "high": 5, + "f": [ + "REF", + 4 + ], + "low": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "high": 5, + "s": 0, + "f": [ + "REF", + 4 + ], + "low": 1, + "next": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 0, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 2, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f4", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 1, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": 4, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 3, + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f6", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 5, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": 9, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f7", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": 4, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f8", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 14, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "__return__": 16, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f9", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f10", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": 5, + "x": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f10", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 30, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": 25, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f11", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "call" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f12", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "x": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "__return__": 6, + "x": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f12", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "summation", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "f": [ + "REF", + 4 + ], + "next": [ + "REF", + 3 + ], + "high": 5, + "s": 55, + "low": 1, + "__return__": 55, + "x": 6 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "summation", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "summation_f2", + "ordered_varnames": [ + "low", + "high", + "f", + "next", + "s", + "x", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ], + "3": [ + "FUNCTION", + "(x)", + 1 + ], + "4": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "", + "func_name": "sumsquares", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "__return__": 55, + "low": 1 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p", + "ordered_varnames": [ + "low", + "high", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 10, + "event": "return" + }, + { + "ordered_globals": [ + "summation", + "sumsquares" + ], + "stdout": "55\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "high": 5, + "__return__": 55, + "low": 1 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "sumsquares", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "sumsquares_f1_p_z", + "ordered_varnames": [ + "low", + "high", + "__return__" + ] + } + ], + "globals": { + "summation": [ + "REF", + 1 + ], + "sumsquares": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "summation(low, high, f, next)", + null + ], + "2": [ + "FUNCTION", + "sumsquares(low, high)", + null + ] + }, + "line": 12, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/lambda_1.txt b/v3/tests/backend-tests/lambda_1.txt new file mode 100644 index 000000000..da6d717e0 --- /dev/null +++ b/v3/tests/backend-tests/lambda_1.txt @@ -0,0 +1,12 @@ +def summation(low, high, f, next): + s = 0 + x = low + while x <= high: + s = s + f(x) + x = next(x) + return s + +def sumsquares(low, high): + return summation(low, high, lambda x: x**2, lambda x: x+1) + +print(sumsquares(1, 5)) diff --git a/v3/tests/backend-tests/ling-scheme-1.golden b/v3/tests/backend-tests/ling-scheme-1.golden new file mode 100644 index 000000000..a775366a0 --- /dev/null +++ b/v3/tests/backend-tests/ling-scheme-1.golden @@ -0,0 +1,4020 @@ +{ + "code": "def repeat(f, n):\n if n == 0:\n return []\n else:\n return [f()] + repeat(f, n - 1)\n\nrepeat(lambda : 5, 5)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f6", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f6", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f6", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f8", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f8", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f8", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f10", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f10", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f10", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f11", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f11", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f11", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "f": [ + "REF", + 2 + ], + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f11", + "ordered_varnames": [ + "f", + "n", + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ], + "3": [ + "LIST" + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n", + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ], + "4": [ + "LIST", + 5 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n", + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ], + "5": [ + "LIST", + 5, + 5 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n", + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ], + "6": [ + "LIST", + 5, + 5, + 5 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n", + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ], + "7": [ + "LIST", + 5, + 5, + 5, + 5 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 8 + ], + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n", + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "8": [ + "LIST", + 5, + 5, + 5, + 5, + 5 + ], + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/ling-scheme-1.golden_py3 b/v3/tests/backend-tests/ling-scheme-1.golden_py3 new file mode 100644 index 000000000..a775366a0 --- /dev/null +++ b/v3/tests/backend-tests/ling-scheme-1.golden_py3 @@ -0,0 +1,4020 @@ +{ + "code": "def repeat(f, n):\n if n == 0:\n return []\n else:\n return [f()] + repeat(f, n - 1)\n\nrepeat(lambda : 5, 5)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f4", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f6", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f6", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f6", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f8", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f8", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f8", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f10", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f10", + "ordered_varnames": [] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f10", + "ordered_varnames": [ + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f11", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f11", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f11", + "ordered_varnames": [ + "f", + "n" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": [ + "REF", + 3 + ], + "f": [ + "REF", + 2 + ], + "n": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f11", + "ordered_varnames": [ + "f", + "n", + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ], + "3": [ + "LIST" + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "__return__": [ + "REF", + 4 + ], + "f": [ + "REF", + 2 + ], + "n": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f9", + "ordered_varnames": [ + "f", + "n", + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ], + "4": [ + "LIST", + 5 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": [ + "REF", + 5 + ], + "f": [ + "REF", + 2 + ], + "n": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f7", + "ordered_varnames": [ + "f", + "n", + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ], + "5": [ + "LIST", + 5, + 5 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": [ + "REF", + 6 + ], + "f": [ + "REF", + 2 + ], + "n": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f5", + "ordered_varnames": [ + "f", + "n", + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ], + "6": [ + "LIST", + 5, + 5, + 5 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "f": [ + "REF", + 2 + ], + "n": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f3", + "ordered_varnames": [ + "f", + "n", + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ], + "7": [ + "LIST", + 5, + 5, + 5, + 5 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "repeat", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 8 + ], + "f": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "repeat", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "repeat_f1", + "ordered_varnames": [ + "f", + "n", + "__return__" + ] + } + ], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "8": [ + "LIST", + 5, + 5, + 5, + 5, + 5 + ], + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ], + "2": [ + "FUNCTION", + "()", + null + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "repeat" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "repeat": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "repeat(f, n)", + null + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/ling-scheme-1.txt b/v3/tests/backend-tests/ling-scheme-1.txt new file mode 100644 index 000000000..254102edc --- /dev/null +++ b/v3/tests/backend-tests/ling-scheme-1.txt @@ -0,0 +1,7 @@ +def repeat(f, n): + if n == 0: + return [] + else: + return [f()] + repeat(f, n - 1) + +repeat(lambda : 5, 5) diff --git a/v3/tests/backend-tests/ling-scheme-2.golden b/v3/tests/backend-tests/ling-scheme-2.golden new file mode 100644 index 000000000..add7f461f --- /dev/null +++ b/v3/tests/backend-tests/ling-scheme-2.golden @@ -0,0 +1,3788 @@ +{ + "code": "def iota(n):\n def loop(acc, k):\n if k == n:\n return list(reversed(acc))\n else:\n return loop([k] + acc, k + 1)\n return loop([], 0)\n\nresult = iota(5)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "iota", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "iota", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "iota", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "acc": [ + "REF", + 8 + ], + "k": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f7", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ], + "8": [ + "LIST", + 4, + 3, + 2, + 1, + 0 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "acc": [ + "REF", + 8 + ], + "k": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f7", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ], + "8": [ + "LIST", + 4, + 3, + 2, + 1, + 0 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "acc": [ + "REF", + 8 + ], + "k": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f7", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ], + "8": [ + "LIST", + 4, + 3, + 2, + 1, + 0 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "acc": [ + "REF", + 8 + ], + "__return__": [ + "REF", + 9 + ], + "k": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f7", + "ordered_varnames": [ + "acc", + "k", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ], + "8": [ + "LIST", + 4, + 3, + 2, + 1, + 0 + ], + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "__return__": [ + "REF", + 9 + ], + "k": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ], + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 9 + ], + "k": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 9 + ], + "k": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 9 + ], + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "__return__": [ + "REF", + 9 + ], + "k": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "iota", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 9 + ], + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "iota", + "result" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 9 + ], + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p_z", + "ordered_varnames": [ + "n", + "loop", + "__return__" + ] + } + ], + "globals": { + "result": [ + "REF", + 9 + ], + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 9, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/ling-scheme-2.golden_py3 b/v3/tests/backend-tests/ling-scheme-2.golden_py3 new file mode 100644 index 000000000..add7f461f --- /dev/null +++ b/v3/tests/backend-tests/ling-scheme-2.golden_py3 @@ -0,0 +1,3788 @@ +{ + "code": "def iota(n):\n def loop(acc, k):\n if k == n:\n return list(reversed(acc))\n else:\n return loop([k] + acc, k + 1)\n return loop([], 0)\n\nresult = iota(5)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "iota", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "iota", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "n": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1", + "ordered_varnames": [ + "n" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "iota", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "acc": [ + "REF", + 8 + ], + "k": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f7", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ], + "8": [ + "LIST", + 4, + 3, + 2, + 1, + 0 + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "acc": [ + "REF", + 8 + ], + "k": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f7", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ], + "8": [ + "LIST", + 4, + 3, + 2, + 1, + 0 + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "acc": [ + "REF", + 8 + ], + "k": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f7", + "ordered_varnames": [ + "acc", + "k" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ], + "8": [ + "LIST", + 4, + 3, + 2, + 1, + 0 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "k": 4 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "acc": [ + "REF", + 8 + ], + "__return__": [ + "REF", + 9 + ], + "k": 5 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f7", + "ordered_varnames": [ + "acc", + "k", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ], + "8": [ + "LIST", + 4, + 3, + 2, + 1, + 0 + ], + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "k": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "acc": [ + "REF", + 7 + ], + "__return__": [ + "REF", + 9 + ], + "k": 4 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f6", + "ordered_varnames": [ + "acc", + "k", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "7": [ + "LIST", + 3, + 2, + 1, + 0 + ], + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "k": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "acc": [ + "REF", + 6 + ], + "__return__": [ + "REF", + 9 + ], + "k": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f5", + "ordered_varnames": [ + "acc", + "k", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "6": [ + "LIST", + 2, + 1, + 0 + ], + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "k": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "acc": [ + "REF", + 5 + ], + "__return__": [ + "REF", + 9 + ], + "k": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f4", + "ordered_varnames": [ + "acc", + "k", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "iota(n)", + null + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "5": [ + "LIST", + 1, + 0 + ], + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "k": 0 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "acc": [ + "REF", + 4 + ], + "__return__": [ + "REF", + 9 + ], + "k": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f3", + "ordered_varnames": [ + "acc", + "k", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "4": [ + "LIST", + 0 + ], + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "loop", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "acc": [ + "REF", + 3 + ], + "__return__": [ + "REF", + 9 + ], + "k": 0 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "loop", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "loop_f2", + "ordered_varnames": [ + "acc", + "k", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "3": [ + "LIST" + ], + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "iota" + ], + "stdout": "", + "func_name": "iota", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 9 + ], + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "iota", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p", + "ordered_varnames": [ + "n", + "loop", + "__return__" + ] + } + ], + "globals": { + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "iota", + "result" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 9 + ], + "loop": [ + "REF", + 2 + ], + "n": 5 + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "iota", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "iota_f1_p_z", + "ordered_varnames": [ + "n", + "loop", + "__return__" + ] + } + ], + "globals": { + "result": [ + "REF", + 9 + ], + "iota": [ + "REF", + 1 + ] + }, + "heap": { + "9": [ + "LIST", + 0, + 1, + 2, + 3, + 4 + ], + "2": [ + "FUNCTION", + "loop(acc, k)", + 1 + ], + "1": [ + "FUNCTION", + "iota(n)", + null + ] + }, + "line": 9, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/ling-scheme-2.txt b/v3/tests/backend-tests/ling-scheme-2.txt new file mode 100644 index 000000000..b94897002 --- /dev/null +++ b/v3/tests/backend-tests/ling-scheme-2.txt @@ -0,0 +1,10 @@ +def iota(n): + def loop(acc, k): + if k == n: + return list(reversed(acc)) + else: + return loop([k] + acc, k + 1) + return loop([], 0) + +result = iota(5) + diff --git a/v3/tests/backend-tests/ling-scheme-3.golden b/v3/tests/backend-tests/ling-scheme-3.golden new file mode 100644 index 000000000..d9ef80599 --- /dev/null +++ b/v3/tests/backend-tests/ling-scheme-3.golden @@ -0,0 +1,8612 @@ +{ + "code": "def map(f, xs):\n if xs == []:\n return []\n else:\n return [f(xs[0])] + list(map(f, xs[1:]))\n\ndef append(xs, ys):\n if xs == []:\n return ys\n else:\n return [xs[0]] + append(xs[1:], ys)\n\ndef pairs(xs):\n if xs == []:\n return []\n elif xs[1:] == []:\n return []\n else:\n return append(map(lambda x: [xs[0], x], xs[1:]), pairs(xs[1:]))\n\nresult = pairs([1, 2, 3])\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "map" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "map": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "map": [ + "REF", + 1 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ] + }, + "line": 21, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 19, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "7": [ + "LIST", + 1, + 2 + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ] + }, + "line": 19, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": [ + "REF", + 9 + ], + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ], + "9": [ + "LIST", + 1, + 3 + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "xs": [ + "REF", + 10 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ], + "10": [ + "LIST" + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "xs": [ + "REF", + 10 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ], + "10": [ + "LIST" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "xs": [ + "REF", + 10 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ], + "10": [ + "LIST" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": [ + "REF", + 11 + ], + "xs": [ + "REF", + 10 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "f", + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ], + "10": [ + "LIST" + ], + "11": [ + "LIST" + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": [ + "REF", + 12 + ], + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ], + "9": [ + "LIST", + 1, + 3 + ], + "12": [ + "LIST", + [ + "REF", + 9 + ] + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 13 + ], + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f9", + "ordered_varnames": [ + "x", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 19, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f9", + "ordered_varnames": [ + "x", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "__return__": [ + "REF", + 17 + ], + "x": 3, + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f9", + "ordered_varnames": [ + "x", + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ], + "17": [ + "LIST", + 2, + 3 + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "xs": [ + "REF", + 18 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ], + "18": [ + "LIST" + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "xs": [ + "REF", + 18 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ], + "18": [ + "LIST" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "xs": [ + "REF", + 18 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ], + "18": [ + "LIST" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": [ + "REF", + 19 + ], + "xs": [ + "REF", + 18 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "f", + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ], + "18": [ + "LIST" + ], + "19": [ + "LIST" + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": [ + "REF", + 20 + ], + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "xs": [ + "REF", + 21 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f11", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "21": [ + "LIST", + 3 + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "xs": [ + "REF", + 21 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f11", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "21": [ + "LIST", + 3 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "xs": [ + "REF", + 21 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f11", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "21": [ + "LIST", + 3 + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "xs": [ + "REF", + 21 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f11", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "21": [ + "LIST", + 3 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": [ + "REF", + 22 + ], + "xs": [ + "REF", + 21 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f11", + "ordered_varnames": [ + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "21": [ + "LIST", + 3 + ], + "22": [ + "LIST" + ] + }, + "line": 17, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "xs": [ + "REF", + 23 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f13", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ], + "23": [ + "LIST" + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "xs": [ + "REF", + 23 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f13", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ], + "23": [ + "LIST" + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "xs": [ + "REF", + 23 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f13", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ], + "23": [ + "LIST" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "__return__": [ + "REF", + 22 + ], + "xs": [ + "REF", + 23 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f13", + "ordered_varnames": [ + "xs", + "ys", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ], + "23": [ + "LIST" + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "__return__": [ + "REF", + 24 + ], + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": [ + "REF", + 24 + ], + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "xs": [ + "REF", + 26 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f16", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ], + "26": [ + "LIST" + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "xs": [ + "REF", + 26 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f16", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ], + "26": [ + "LIST" + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "xs": [ + "REF", + 26 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f16", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ], + "26": [ + "LIST" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "__return__": [ + "REF", + 24 + ], + "xs": [ + "REF", + 26 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f16", + "ordered_varnames": [ + "xs", + "ys", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ], + "26": [ + "LIST" + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "__return__": [ + "REF", + 27 + ], + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ], + "27": [ + "LIST", + [ + "REF", + 9 + ], + [ + "REF", + 17 + ] + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "__return__": [ + "REF", + 28 + ], + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "28": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ], + [ + "REF", + 17 + ] + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 28 + ], + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "28": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ], + [ + "REF", + 17 + ] + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs", + "result" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 28 + ], + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p_z", + "ordered_varnames": [ + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "result": [ + "REF", + 28 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "28": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ], + [ + "REF", + 17 + ] + ] + }, + "line": 21, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/ling-scheme-3.golden_py3 b/v3/tests/backend-tests/ling-scheme-3.golden_py3 new file mode 100644 index 000000000..d9ef80599 --- /dev/null +++ b/v3/tests/backend-tests/ling-scheme-3.golden_py3 @@ -0,0 +1,8612 @@ +{ + "code": "def map(f, xs):\n if xs == []:\n return []\n else:\n return [f(xs[0])] + list(map(f, xs[1:]))\n\ndef append(xs, ys):\n if xs == []:\n return ys\n else:\n return [xs[0]] + append(xs[1:], ys)\n\ndef pairs(xs):\n if xs == []:\n return []\n elif xs[1:] == []:\n return []\n else:\n return append(map(lambda x: [xs[0], x], xs[1:]), pairs(xs[1:]))\n\nresult = pairs([1, 2, 3])\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "map" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "map": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "map": [ + "REF", + 1 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ] + }, + "line": 21, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 19, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": [ + "REF", + 7 + ], + "x": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f3", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "7": [ + "LIST", + 1, + 2 + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ] + }, + "line": 19, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 5, + "encoded_locals": { + "__return__": [ + "REF", + 9 + ], + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "_f5", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ], + "9": [ + "LIST", + 1, + 3 + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "xs": [ + "REF", + 10 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ], + "10": [ + "LIST" + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "xs": [ + "REF", + 10 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ], + "10": [ + "LIST" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "xs": [ + "REF", + 10 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ], + "10": [ + "LIST" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 6, + "encoded_locals": { + "__return__": [ + "REF", + 11 + ], + "xs": [ + "REF", + 10 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f6", + "ordered_varnames": [ + "f", + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ], + "10": [ + "LIST" + ], + "11": [ + "LIST" + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": [ + "REF", + 12 + ], + "xs": [ + "REF", + 8 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f4", + "ordered_varnames": [ + "f", + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "8": [ + "LIST", + 3 + ], + "9": [ + "LIST", + 1, + 3 + ], + "12": [ + "LIST", + [ + "REF", + 9 + ] + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": [ + "REF", + 13 + ], + "xs": [ + "REF", + 5 + ], + "f": [ + "REF", + 6 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f2", + "ordered_varnames": [ + "f", + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "5": [ + "LIST", + 2, + 3 + ], + "6": [ + "FUNCTION", + "(x)", + 1 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f9", + "ordered_varnames": [ + "x", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 19, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "x": 3, + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f9", + "ordered_varnames": [ + "x", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 9, + "encoded_locals": { + "__return__": [ + "REF", + 17 + ], + "x": 3, + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f9", + "ordered_varnames": [ + "x", + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ], + "17": [ + "LIST", + 2, + 3 + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "xs": [ + "REF", + 18 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ], + "18": [ + "LIST" + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "xs": [ + "REF", + 18 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ], + "18": [ + "LIST" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "xs": [ + "REF", + 18 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "f", + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ], + "18": [ + "LIST" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs" + ] + }, + { + "frame_id": 10, + "encoded_locals": { + "__return__": [ + "REF", + 19 + ], + "xs": [ + "REF", + 18 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f10", + "ordered_varnames": [ + "f", + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ], + "18": [ + "LIST" + ], + "19": [ + "LIST" + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "map", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 8, + "encoded_locals": { + "__return__": [ + "REF", + 20 + ], + "xs": [ + "REF", + 15 + ], + "f": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "map", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "map_f8", + "ordered_varnames": [ + "f", + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "15": [ + "LIST", + 3 + ], + "16": [ + "FUNCTION", + "(x)", + 1 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "xs": [ + "REF", + 21 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f11", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "21": [ + "LIST", + 3 + ] + }, + "line": 13, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "xs": [ + "REF", + 21 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f11", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "21": [ + "LIST", + 3 + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "xs": [ + "REF", + 21 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f11", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "21": [ + "LIST", + 3 + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "xs": [ + "REF", + 21 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f11", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "21": [ + "LIST", + 3 + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 11, + "encoded_locals": { + "__return__": [ + "REF", + 22 + ], + "xs": [ + "REF", + 21 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f11", + "ordered_varnames": [ + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "21": [ + "LIST", + 3 + ], + "22": [ + "LIST" + ] + }, + "line": 17, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "xs": [ + "REF", + 23 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f13", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ], + "23": [ + "LIST" + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "xs": [ + "REF", + 23 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f13", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ], + "23": [ + "LIST" + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "xs": [ + "REF", + 23 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f13", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ], + "23": [ + "LIST" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 13, + "encoded_locals": { + "__return__": [ + "REF", + 22 + ], + "xs": [ + "REF", + 23 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f13", + "ordered_varnames": [ + "xs", + "ys", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ], + "23": [ + "LIST" + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 12, + "encoded_locals": { + "__return__": [ + "REF", + 24 + ], + "xs": [ + "REF", + 20 + ], + "ys": [ + "REF", + 22 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f12", + "ordered_varnames": [ + "xs", + "ys", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "20": [ + "LIST", + [ + "REF", + 17 + ] + ], + "22": [ + "LIST" + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 7, + "encoded_locals": { + "__return__": [ + "REF", + 24 + ], + "xs": [ + "REF", + 14 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f7", + "ordered_varnames": [ + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "14": [ + "LIST", + 2, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "xs": [ + "REF", + 26 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f16", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ], + "26": [ + "LIST" + ] + }, + "line": 7, + "event": "call" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "xs": [ + "REF", + 26 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f16", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ], + "26": [ + "LIST" + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "xs": [ + "REF", + 26 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f16", + "ordered_varnames": [ + "xs", + "ys" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ], + "26": [ + "LIST" + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 16, + "encoded_locals": { + "__return__": [ + "REF", + 24 + ], + "xs": [ + "REF", + 26 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f16", + "ordered_varnames": [ + "xs", + "ys", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ], + "26": [ + "LIST" + ] + }, + "line": 9, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys" + ] + }, + { + "frame_id": 15, + "encoded_locals": { + "__return__": [ + "REF", + 27 + ], + "xs": [ + "REF", + 25 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f15", + "ordered_varnames": [ + "xs", + "ys", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "25": [ + "LIST", + [ + "REF", + 9 + ] + ], + "27": [ + "LIST", + [ + "REF", + 9 + ], + [ + "REF", + 17 + ] + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "append", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs" + ] + }, + { + "frame_id": 14, + "encoded_locals": { + "__return__": [ + "REF", + 28 + ], + "xs": [ + "REF", + 13 + ], + "ys": [ + "REF", + 24 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "append", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "append_f14", + "ordered_varnames": [ + "xs", + "ys", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "13": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ] + ], + "17": [ + "LIST", + 2, + 3 + ], + "24": [ + "LIST", + [ + "REF", + 17 + ] + ], + "28": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ], + [ + "REF", + 17 + ] + ] + }, + "line": 11, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs" + ], + "stdout": "", + "func_name": "pairs", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 28 + ], + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "pairs", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p", + "ordered_varnames": [ + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "28": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ], + [ + "REF", + 17 + ] + ] + }, + "line": 19, + "event": "return" + }, + { + "ordered_globals": [ + "map", + "append", + "pairs", + "result" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 28 + ], + "xs": [ + "REF", + 4 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "pairs", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "pairs_f1_p_z", + "ordered_varnames": [ + "xs", + "__return__" + ] + } + ], + "globals": { + "map": [ + "REF", + 1 + ], + "pairs": [ + "REF", + 3 + ], + "result": [ + "REF", + 28 + ], + "append": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "map(f, xs)", + null + ], + "2": [ + "FUNCTION", + "append(xs, ys)", + null + ], + "3": [ + "FUNCTION", + "pairs(xs)", + null + ], + "4": [ + "LIST", + 1, + 2, + 3 + ], + "7": [ + "LIST", + 1, + 2 + ], + "9": [ + "LIST", + 1, + 3 + ], + "17": [ + "LIST", + 2, + 3 + ], + "28": [ + "LIST", + [ + "REF", + 7 + ], + [ + "REF", + 9 + ], + [ + "REF", + 17 + ] + ] + }, + "line": 21, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/ling-scheme-3.txt b/v3/tests/backend-tests/ling-scheme-3.txt new file mode 100644 index 000000000..14ee800e8 --- /dev/null +++ b/v3/tests/backend-tests/ling-scheme-3.txt @@ -0,0 +1,21 @@ +def map(f, xs): + if xs == []: + return [] + else: + return [f(xs[0])] + list(map(f, xs[1:])) + +def append(xs, ys): + if xs == []: + return ys + else: + return [xs[0]] + append(xs[1:], ys) + +def pairs(xs): + if xs == []: + return [] + elif xs[1:] == []: + return [] + else: + return append(map(lambda x: [xs[0], x], xs[1:]), pairs(xs[1:])) + +result = pairs([1, 2, 3]) diff --git a/v3/tests/backend-tests/list_dict_test.golden b/v3/tests/backend-tests/list_dict_test.golden new file mode 100644 index 000000000..4baefb4f5 --- /dev/null +++ b/v3/tests/backend-tests/list_dict_test.golden @@ -0,0 +1,416 @@ +{ + "code": "x = {}\nl = ['hello', \"world\", 'goodbye']\nfor (i, e) in enumerate(l):\n x[e] = i\nprint(x)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": [ + "REF", + 1 + ], + "e": "hello", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": [ + "REF", + 1 + ], + "e": "hello", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "hello", + 0 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 1 + ], + "e": "world", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "hello", + 0 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 1 + ], + "e": "world", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "world", + 1 + ], + [ + "hello", + 0 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 1 + ], + "e": "goodbye", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "world", + 1 + ], + [ + "hello", + 0 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 1 + ], + "e": "goodbye", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "world", + 1 + ], + [ + "hello", + 0 + ], + [ + "goodbye", + 2 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 1 + ], + "e": "goodbye", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "world", + 1 + ], + [ + "hello", + 0 + ], + [ + "goodbye", + 2 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "{'world': 1, 'hello': 0, 'goodbye': 2}\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 1 + ], + "e": "goodbye", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "world", + 1 + ], + [ + "hello", + 0 + ], + [ + "goodbye", + 2 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 5, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/list_dict_test.golden_py3 b/v3/tests/backend-tests/list_dict_test.golden_py3 new file mode 100644 index 000000000..4baefb4f5 --- /dev/null +++ b/v3/tests/backend-tests/list_dict_test.golden_py3 @@ -0,0 +1,416 @@ +{ + "code": "x = {}\nl = ['hello', \"world\", 'goodbye']\nfor (i, e) in enumerate(l):\n x[e] = i\nprint(x)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ], + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": [ + "REF", + 1 + ], + "e": "hello", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT" + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": [ + "REF", + 1 + ], + "e": "hello", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "hello", + 0 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 1 + ], + "e": "world", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "hello", + 0 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": [ + "REF", + 1 + ], + "e": "world", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "world", + 1 + ], + [ + "hello", + 0 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 1 + ], + "e": "goodbye", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "world", + 1 + ], + [ + "hello", + 0 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 1 + ], + "e": "goodbye", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "world", + 1 + ], + [ + "hello", + 0 + ], + [ + "goodbye", + 2 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 1 + ], + "e": "goodbye", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "world", + 1 + ], + [ + "hello", + 0 + ], + [ + "goodbye", + 2 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "l", + "i", + "e" + ], + "stdout": "{'world': 1, 'hello': 0, 'goodbye': 2}\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": [ + "REF", + 1 + ], + "e": "goodbye", + "l": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "world", + 1 + ], + [ + "hello", + 0 + ], + [ + "goodbye", + 2 + ] + ], + "2": [ + "LIST", + "hello", + "world", + "goodbye" + ] + }, + "line": 5, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/list_dict_test.txt b/v3/tests/backend-tests/list_dict_test.txt new file mode 100644 index 000000000..b44628526 --- /dev/null +++ b/v3/tests/backend-tests/list_dict_test.txt @@ -0,0 +1,6 @@ +x = {} +l = ['hello', "world", 'goodbye'] +for (i, e) in enumerate(l): + x[e] = i +print(x) + diff --git a/v3/tests/backend-tests/list_sum.golden b/v3/tests/backend-tests/list_sum.golden new file mode 100644 index 000000000..332b07b21 --- /dev/null +++ b/v3/tests/backend-tests/list_sum.golden @@ -0,0 +1,2125 @@ +{ + "code": "def listSum(numbers):\n if not numbers:\n return 0\n else:\n (f, rest) = numbers\n return f + listSum(rest)\n\nmyList = (1, (2, (3, None)))\ntotal = listSum(myList)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ], + "rest": null, + "f": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ], + "rest": null, + "f": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "numbers": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f4", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ], + "rest": null, + "f": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "numbers": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f4", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ], + "rest": null, + "f": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "numbers": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f4", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ], + "rest": null, + "f": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 0, + "numbers": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f4", + "ordered_varnames": [ + "numbers", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 3, + "numbers": [ + "REF", + 4 + ], + "rest": null, + "f": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers", + "f", + "rest", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 5, + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 6, + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "listSum", + "myList", + "total" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "total": 6, + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 9, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/list_sum.golden_py3 b/v3/tests/backend-tests/list_sum.golden_py3 new file mode 100644 index 000000000..332b07b21 --- /dev/null +++ b/v3/tests/backend-tests/list_sum.golden_py3 @@ -0,0 +1,2125 @@ +{ + "code": "def listSum(numbers):\n if not numbers:\n return 0\n else:\n (f, rest) = numbers\n return f + listSum(rest)\n\nmyList = (1, (2, (3, None)))\ntotal = listSum(myList)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ], + "rest": null, + "f": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ], + "rest": null, + "f": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "numbers": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f4", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ], + "rest": null, + "f": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "numbers": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f4", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ], + "rest": null, + "f": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "numbers": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f4", + "ordered_varnames": [ + "numbers" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "numbers": [ + "REF", + 4 + ], + "rest": null, + "f": 3 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "__return__": 0, + "numbers": null + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f4", + "ordered_varnames": [ + "numbers", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 3, + "numbers": [ + "REF", + 4 + ], + "rest": null, + "f": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f3", + "ordered_varnames": [ + "numbers", + "f", + "rest", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 5, + "numbers": [ + "REF", + 3 + ], + "rest": [ + "REF", + 4 + ], + "f": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f2", + "ordered_varnames": [ + "numbers", + "f", + "rest", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "listSum", + "myList" + ], + "stdout": "", + "func_name": "listSum", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 6, + "numbers": [ + "REF", + 2 + ], + "rest": [ + "REF", + 3 + ], + "f": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "listSum", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "listSum_f1", + "ordered_varnames": [ + "numbers", + "f", + "rest", + "__return__" + ] + } + ], + "globals": { + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "listSum", + "myList", + "total" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "total": 6, + "myList": [ + "REF", + 2 + ], + "listSum": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "listSum(numbers)", + null + ], + "2": [ + "TUPLE", + 1, + [ + "REF", + 3 + ] + ], + "3": [ + "TUPLE", + 2, + [ + "REF", + 4 + ] + ], + "4": [ + "TUPLE", + 3, + null + ] + }, + "line": 9, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/list_sum.txt b/v3/tests/backend-tests/list_sum.txt new file mode 100644 index 000000000..ce2556a0d --- /dev/null +++ b/v3/tests/backend-tests/list_sum.txt @@ -0,0 +1,9 @@ +def listSum(numbers): + if not numbers: + return 0 + else: + (f, rest) = numbers + return f + listSum(rest) + +myList = (1, (2, (3, None))) +total = listSum(myList) diff --git a/v3/tests/backend-tests/list_test.golden b/v3/tests/backend-tests/list_test.golden new file mode 100644 index 000000000..9d34156ff --- /dev/null +++ b/v3/tests/backend-tests/list_test.golden @@ -0,0 +1,48 @@ +{ + "code": "x = [1, 2, \"hello\", (3, 4)]\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + "hello", + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 3, + 4 + ] + }, + "line": 1, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/list_test.golden_py3 b/v3/tests/backend-tests/list_test.golden_py3 new file mode 100644 index 000000000..9d34156ff --- /dev/null +++ b/v3/tests/backend-tests/list_test.golden_py3 @@ -0,0 +1,48 @@ +{ + "code": "x = [1, 2, \"hello\", (3, 4)]\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "LIST", + 1, + 2, + "hello", + [ + "REF", + 2 + ] + ], + "2": [ + "TUPLE", + 3, + 4 + ] + }, + "line": 1, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/list_test.txt b/v3/tests/backend-tests/list_test.txt new file mode 100644 index 000000000..a56999261 --- /dev/null +++ b/v3/tests/backend-tests/list_test.txt @@ -0,0 +1 @@ +x = [1, 2, "hello", (3, 4)] diff --git a/v3/tests/backend-tests/namedtuple.golden b/v3/tests/backend-tests/namedtuple.golden new file mode 100644 index 000000000..4738235c9 --- /dev/null +++ b/v3/tests/backend-tests/namedtuple.golden @@ -0,0 +1,10013 @@ +{ + "code": "from collections import namedtuple\n\nRestaurant = namedtuple('Restaurant', 'name cuisine phone dish price')\n\nR1 = Restaurant(\"Taillevent\", \"French\", \"343-3434\", \"Escargots\", 24.50)\nR2 = Restaurant(\"La Tour D'Argent\", \"French\", \"343-3344\", \"Ris de Veau\", 48.50)\nR3 = Restaurant(\"Pascal\", \"French\", \"333-4444\", \"Bouillabaisse\", 32.00)\nR4 = Restaurant(\"Thai Touch\", \"Thai\", \"444-3333\", \"Mee Krob\", 10.95)\nR5 = Restaurant(\"Thai Dishes\", \"Thai\", \"333-4433\", \"Paht Woon Sen\", 8.50)\nR6 = Restaurant(\"Thai Spoon\", \"Thai\", \"334-3344\", \"Mussamun\", 9.00)\nR7 = Restaurant(\"McDonald's\", \"Burgers\", \"333-4443\", \"Big Mac\", 3.95)\nR8 = Restaurant(\"Burger King\", \"Burgers\", \"444-3344\", \"Whopper\", 3.75)\nR9 = Restaurant(\"Wahoo's\", \"Fish Tacos\", \"443-4443\", \"Mahi Mahi Burrito\", 7.50)\nR10 = Restaurant(\"In-N-Out Burger\", \"Burgers\", \"434-3344\", \"Cheeseburger\", 2.50)\nR11 = Restaurant(\"The Shack\", \"Burgers\", \"333-3334\", \"Hot Link Burger\", 4.50)\nR12 = Restaurant(\"Gina's\", \"Pizza\", \"334-4433\", \"Combo Pizza\", 12.95)\nR13 = Restaurant(\"Peacock, Room\", \"Indian\", \"333-4443\", \"Rogan Josh\", 12.50)\nR14 = Restaurant(\"Gaylord\", \"Indian\", \"333-3433\", \"Tandoori Chicken\", 13.50)\nR15 = Restaurant(\"Mr. Chow\", \"Chinese\", \"222-3333\", \"Peking Duck\", 24.50)\nR16 = Restaurant(\"Chez Panisse\", \"California\", \"222-3322\", \"Grilled Duck Breast\", 25.00)\nR17 = Restaurant(\"Spago\", \"California\", \"333-2222\", \"Striped Bass\", 24.50)\nR18 = Restaurant(\"Sriped Bass\", \"Seafood\", \"333-2233\", \"Cedar Plank Salmon\", 21.50)\nR19 = Restaurant(\"Golden Pagoda\", \"Chinese\", \"232-3232\", \"Egg Foo Young\", 8.50)\nR20 = Restaurant(\"Langer's\", \"Delicatessen\", \"333-2223\", \"Pastrami Sandwich\", 11.50)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "Restaurant": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "Restaurant": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "Restaurant": [ + "REF", + 2 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "R3": [ + "REF", + 18 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R10": [ + "REF", + 25 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R10": [ + "REF", + 25 + ], + "R5": [ + "REF", + 20 + ], + "R11": [ + "REF", + 26 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R12": [ + "REF", + 27 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R10": [ + "REF", + 25 + ], + "R5": [ + "REF", + 20 + ], + "R11": [ + "REF", + 26 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R12": [ + "REF", + 27 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R10": [ + "REF", + 25 + ], + "R5": [ + "REF", + 20 + ], + "R11": [ + "REF", + 26 + ], + "R13": [ + "REF", + 28 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R12": [ + "REF", + 27 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R10": [ + "REF", + 25 + ], + "R5": [ + "REF", + 20 + ], + "R14": [ + "REF", + 29 + ], + "R11": [ + "REF", + 26 + ], + "R13": [ + "REF", + 28 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14", + "R15" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R12": [ + "REF", + 27 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R10": [ + "REF", + 25 + ], + "R15": [ + "REF", + 30 + ], + "R5": [ + "REF", + 20 + ], + "R14": [ + "REF", + 29 + ], + "R11": [ + "REF", + 26 + ], + "R13": [ + "REF", + 28 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ], + "30": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Peking Duck" + ], + [ + "name", + "Mr. Chow" + ], + [ + "phone", + "222-3333" + ], + [ + "price", + 24.500 + ] + ] + }, + "line": 20, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14", + "R15", + "R16" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R16": [ + "REF", + 31 + ], + "R5": [ + "REF", + 20 + ], + "R14": [ + "REF", + 29 + ], + "R15": [ + "REF", + 30 + ], + "R12": [ + "REF", + 27 + ], + "R13": [ + "REF", + 28 + ], + "R10": [ + "REF", + 25 + ], + "R11": [ + "REF", + 26 + ], + "R3": [ + "REF", + 18 + ], + "Restaurant": [ + "REF", + 2 + ], + "R8": [ + "REF", + 23 + ], + "R6": [ + "REF", + 21 + ], + "R9": [ + "REF", + 24 + ], + "R7": [ + "REF", + 22 + ], + "namedtuple": [ + "REF", + 1 + ], + "R4": [ + "REF", + 19 + ], + "R2": [ + "REF", + 17 + ], + "R1": [ + "REF", + 16 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ], + "30": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Peking Duck" + ], + [ + "name", + "Mr. Chow" + ], + [ + "phone", + "222-3333" + ], + [ + "price", + 24.500 + ] + ], + "31": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Grilled Duck Breast" + ], + [ + "name", + "Chez Panisse" + ], + [ + "phone", + "222-3322" + ], + [ + "price", + 25.000 + ] + ] + }, + "line": 21, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14", + "R15", + "R16", + "R17" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R16": [ + "REF", + 31 + ], + "R5": [ + "REF", + 20 + ], + "R14": [ + "REF", + 29 + ], + "R15": [ + "REF", + 30 + ], + "R12": [ + "REF", + 27 + ], + "R13": [ + "REF", + 28 + ], + "R10": [ + "REF", + 25 + ], + "R17": [ + "REF", + 32 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R11": [ + "REF", + 26 + ], + "R9": [ + "REF", + 24 + ], + "R7": [ + "REF", + 22 + ], + "R6": [ + "REF", + 21 + ], + "namedtuple": [ + "REF", + 1 + ], + "R4": [ + "REF", + 19 + ], + "R2": [ + "REF", + 17 + ], + "R1": [ + "REF", + 16 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ], + "30": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Peking Duck" + ], + [ + "name", + "Mr. Chow" + ], + [ + "phone", + "222-3333" + ], + [ + "price", + 24.500 + ] + ], + "31": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Grilled Duck Breast" + ], + [ + "name", + "Chez Panisse" + ], + [ + "phone", + "222-3322" + ], + [ + "price", + 25.000 + ] + ], + "32": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Striped Bass" + ], + [ + "name", + "Spago" + ], + [ + "phone", + "333-2222" + ], + [ + "price", + 24.500 + ] + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14", + "R15", + "R16", + "R17", + "R18" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R16": [ + "REF", + 31 + ], + "R5": [ + "REF", + 20 + ], + "R14": [ + "REF", + 29 + ], + "R15": [ + "REF", + 30 + ], + "R12": [ + "REF", + 27 + ], + "R13": [ + "REF", + 28 + ], + "R10": [ + "REF", + 25 + ], + "R17": [ + "REF", + 32 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R11": [ + "REF", + 26 + ], + "R18": [ + "REF", + 33 + ], + "R9": [ + "REF", + 24 + ], + "R7": [ + "REF", + 22 + ], + "R6": [ + "REF", + 21 + ], + "namedtuple": [ + "REF", + 1 + ], + "R4": [ + "REF", + 19 + ], + "R2": [ + "REF", + 17 + ], + "R1": [ + "REF", + 16 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ], + "30": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Peking Duck" + ], + [ + "name", + "Mr. Chow" + ], + [ + "phone", + "222-3333" + ], + [ + "price", + 24.500 + ] + ], + "31": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Grilled Duck Breast" + ], + [ + "name", + "Chez Panisse" + ], + [ + "phone", + "222-3322" + ], + [ + "price", + 25.000 + ] + ], + "32": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Striped Bass" + ], + [ + "name", + "Spago" + ], + [ + "phone", + "333-2222" + ], + [ + "price", + 24.500 + ] + ], + "33": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Seafood" + ], + [ + "dish", + "Cedar Plank Salmon" + ], + [ + "name", + "Sriped Bass" + ], + [ + "phone", + "333-2233" + ], + [ + "price", + 21.500 + ] + ] + }, + "line": 23, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14", + "R15", + "R16", + "R17", + "R18", + "R19" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R16": [ + "REF", + 31 + ], + "R5": [ + "REF", + 20 + ], + "R14": [ + "REF", + 29 + ], + "R15": [ + "REF", + 30 + ], + "R12": [ + "REF", + 27 + ], + "R13": [ + "REF", + 28 + ], + "R10": [ + "REF", + 25 + ], + "R17": [ + "REF", + 32 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R11": [ + "REF", + 26 + ], + "R18": [ + "REF", + 33 + ], + "R19": [ + "REF", + 34 + ], + "R7": [ + "REF", + 22 + ], + "R6": [ + "REF", + 21 + ], + "namedtuple": [ + "REF", + 1 + ], + "R4": [ + "REF", + 19 + ], + "R2": [ + "REF", + 17 + ], + "R9": [ + "REF", + 24 + ], + "R1": [ + "REF", + 16 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ], + "30": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Peking Duck" + ], + [ + "name", + "Mr. Chow" + ], + [ + "phone", + "222-3333" + ], + [ + "price", + 24.500 + ] + ], + "31": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Grilled Duck Breast" + ], + [ + "name", + "Chez Panisse" + ], + [ + "phone", + "222-3322" + ], + [ + "price", + 25.000 + ] + ], + "32": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Striped Bass" + ], + [ + "name", + "Spago" + ], + [ + "phone", + "333-2222" + ], + [ + "price", + 24.500 + ] + ], + "33": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Seafood" + ], + [ + "dish", + "Cedar Plank Salmon" + ], + [ + "name", + "Sriped Bass" + ], + [ + "phone", + "333-2233" + ], + [ + "price", + 21.500 + ] + ], + "34": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Egg Foo Young" + ], + [ + "name", + "Golden Pagoda" + ], + [ + "phone", + "232-3232" + ], + [ + "price", + 8.500 + ] + ] + }, + "line": 24, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14", + "R15", + "R16", + "R17", + "R18", + "R19", + "R20" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R5": [ + "REF", + 20 + ], + "R16": [ + "REF", + 31 + ], + "R17": [ + "REF", + 32 + ], + "R14": [ + "REF", + 29 + ], + "R15": [ + "REF", + 30 + ], + "R12": [ + "REF", + 27 + ], + "R13": [ + "REF", + 28 + ], + "R10": [ + "REF", + 25 + ], + "R11": [ + "REF", + 26 + ], + "R3": [ + "REF", + 18 + ], + "R18": [ + "REF", + 33 + ], + "R19": [ + "REF", + 34 + ], + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R20": [ + "REF", + 35 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ], + "30": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Peking Duck" + ], + [ + "name", + "Mr. Chow" + ], + [ + "phone", + "222-3333" + ], + [ + "price", + 24.500 + ] + ], + "31": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Grilled Duck Breast" + ], + [ + "name", + "Chez Panisse" + ], + [ + "phone", + "222-3322" + ], + [ + "price", + 25.000 + ] + ], + "32": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Striped Bass" + ], + [ + "name", + "Spago" + ], + [ + "phone", + "333-2222" + ], + [ + "price", + 24.500 + ] + ], + "33": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Seafood" + ], + [ + "dish", + "Cedar Plank Salmon" + ], + [ + "name", + "Sriped Bass" + ], + [ + "phone", + "333-2233" + ], + [ + "price", + 21.500 + ] + ], + "34": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Egg Foo Young" + ], + [ + "name", + "Golden Pagoda" + ], + [ + "phone", + "232-3232" + ], + [ + "price", + 8.500 + ] + ], + "35": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Delicatessen" + ], + [ + "dish", + "Pastrami Sandwich" + ], + [ + "name", + "Langer's" + ], + [ + "phone", + "333-2223" + ], + [ + "price", + 11.500 + ] + ] + }, + "line": 24, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/namedtuple.golden_py3 b/v3/tests/backend-tests/namedtuple.golden_py3 new file mode 100644 index 000000000..0815f8aa9 --- /dev/null +++ b/v3/tests/backend-tests/namedtuple.golden_py3 @@ -0,0 +1,10013 @@ +{ + "code": "from collections import namedtuple\n\nRestaurant = namedtuple('Restaurant', 'name cuisine phone dish price')\n\nR1 = Restaurant(\"Taillevent\", \"French\", \"343-3434\", \"Escargots\", 24.50)\nR2 = Restaurant(\"La Tour D'Argent\", \"French\", \"343-3344\", \"Ris de Veau\", 48.50)\nR3 = Restaurant(\"Pascal\", \"French\", \"333-4444\", \"Bouillabaisse\", 32.00)\nR4 = Restaurant(\"Thai Touch\", \"Thai\", \"444-3333\", \"Mee Krob\", 10.95)\nR5 = Restaurant(\"Thai Dishes\", \"Thai\", \"333-4433\", \"Paht Woon Sen\", 8.50)\nR6 = Restaurant(\"Thai Spoon\", \"Thai\", \"334-3344\", \"Mussamun\", 9.00)\nR7 = Restaurant(\"McDonald's\", \"Burgers\", \"333-4443\", \"Big Mac\", 3.95)\nR8 = Restaurant(\"Burger King\", \"Burgers\", \"444-3344\", \"Whopper\", 3.75)\nR9 = Restaurant(\"Wahoo's\", \"Fish Tacos\", \"443-4443\", \"Mahi Mahi Burrito\", 7.50)\nR10 = Restaurant(\"In-N-Out Burger\", \"Burgers\", \"434-3344\", \"Cheeseburger\", 2.50)\nR11 = Restaurant(\"The Shack\", \"Burgers\", \"333-3334\", \"Hot Link Burger\", 4.50)\nR12 = Restaurant(\"Gina's\", \"Pizza\", \"334-4433\", \"Combo Pizza\", 12.95)\nR13 = Restaurant(\"Peacock, Room\", \"Indian\", \"333-4443\", \"Rogan Josh\", 12.50)\nR14 = Restaurant(\"Gaylord\", \"Indian\", \"333-3433\", \"Tandoori Chicken\", 13.50)\nR15 = Restaurant(\"Mr. Chow\", \"Chinese\", \"222-3333\", \"Peking Duck\", 24.50)\nR16 = Restaurant(\"Chez Panisse\", \"California\", \"222-3322\", \"Grilled Duck Breast\", 25.00)\nR17 = Restaurant(\"Spago\", \"California\", \"333-2222\", \"Striped Bass\", 24.50)\nR18 = Restaurant(\"Sriped Bass\", \"Seafood\", \"333-2233\", \"Cedar Plank Salmon\", 21.50)\nR19 = Restaurant(\"Golden Pagoda\", \"Chinese\", \"232-3232\", \"Egg Foo Young\", 8.50)\nR20 = Restaurant(\"Langer's\", \"Delicatessen\", \"333-2223\", \"Pastrami Sandwich\", 11.50)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "Restaurant": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "Restaurant": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "Restaurant": [ + "REF", + 2 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "R3": [ + "REF", + 18 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R10": [ + "REF", + 25 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R10": [ + "REF", + 25 + ], + "R5": [ + "REF", + 20 + ], + "R11": [ + "REF", + 26 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R12": [ + "REF", + 27 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R10": [ + "REF", + 25 + ], + "R5": [ + "REF", + 20 + ], + "R11": [ + "REF", + 26 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ] + }, + "line": 17, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R12": [ + "REF", + 27 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R10": [ + "REF", + 25 + ], + "R5": [ + "REF", + 20 + ], + "R11": [ + "REF", + 26 + ], + "R13": [ + "REF", + 28 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ] + }, + "line": 18, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R12": [ + "REF", + 27 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R10": [ + "REF", + 25 + ], + "R5": [ + "REF", + 20 + ], + "R14": [ + "REF", + 29 + ], + "R11": [ + "REF", + 26 + ], + "R13": [ + "REF", + 28 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ] + }, + "line": 19, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14", + "R15" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R12": [ + "REF", + 27 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R10": [ + "REF", + 25 + ], + "R15": [ + "REF", + 30 + ], + "R5": [ + "REF", + 20 + ], + "R14": [ + "REF", + 29 + ], + "R11": [ + "REF", + 26 + ], + "R13": [ + "REF", + 28 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ], + "30": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Peking Duck" + ], + [ + "name", + "Mr. Chow" + ], + [ + "phone", + "222-3333" + ], + [ + "price", + 24.500 + ] + ] + }, + "line": 20, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14", + "R15", + "R16" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R12": [ + "REF", + 27 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R10": [ + "REF", + 25 + ], + "R15": [ + "REF", + 30 + ], + "R5": [ + "REF", + 20 + ], + "R14": [ + "REF", + 29 + ], + "R11": [ + "REF", + 26 + ], + "R16": [ + "REF", + 31 + ], + "R13": [ + "REF", + 28 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ], + "30": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Peking Duck" + ], + [ + "name", + "Mr. Chow" + ], + [ + "phone", + "222-3333" + ], + [ + "price", + 24.500 + ] + ], + "31": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Grilled Duck Breast" + ], + [ + "name", + "Chez Panisse" + ], + [ + "phone", + "222-3322" + ], + [ + "price", + 25.000 + ] + ] + }, + "line": 21, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14", + "R15", + "R16", + "R17" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R16": [ + "REF", + 31 + ], + "R5": [ + "REF", + 20 + ], + "R14": [ + "REF", + 29 + ], + "R15": [ + "REF", + 30 + ], + "R12": [ + "REF", + 27 + ], + "R13": [ + "REF", + 28 + ], + "R10": [ + "REF", + 25 + ], + "R17": [ + "REF", + 32 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R11": [ + "REF", + 26 + ], + "R9": [ + "REF", + 24 + ], + "R7": [ + "REF", + 22 + ], + "R6": [ + "REF", + 21 + ], + "namedtuple": [ + "REF", + 1 + ], + "R4": [ + "REF", + 19 + ], + "R2": [ + "REF", + 17 + ], + "R1": [ + "REF", + 16 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ], + "30": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Peking Duck" + ], + [ + "name", + "Mr. Chow" + ], + [ + "phone", + "222-3333" + ], + [ + "price", + 24.500 + ] + ], + "31": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Grilled Duck Breast" + ], + [ + "name", + "Chez Panisse" + ], + [ + "phone", + "222-3322" + ], + [ + "price", + 25.000 + ] + ], + "32": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Striped Bass" + ], + [ + "name", + "Spago" + ], + [ + "phone", + "333-2222" + ], + [ + "price", + 24.500 + ] + ] + }, + "line": 22, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14", + "R15", + "R16", + "R17", + "R18" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R16": [ + "REF", + 31 + ], + "R5": [ + "REF", + 20 + ], + "R14": [ + "REF", + 29 + ], + "R15": [ + "REF", + 30 + ], + "R12": [ + "REF", + 27 + ], + "R13": [ + "REF", + 28 + ], + "R10": [ + "REF", + 25 + ], + "R17": [ + "REF", + 32 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R11": [ + "REF", + 26 + ], + "R18": [ + "REF", + 33 + ], + "R9": [ + "REF", + 24 + ], + "R7": [ + "REF", + 22 + ], + "R6": [ + "REF", + 21 + ], + "namedtuple": [ + "REF", + 1 + ], + "R4": [ + "REF", + 19 + ], + "R2": [ + "REF", + 17 + ], + "R1": [ + "REF", + 16 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ], + "30": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Peking Duck" + ], + [ + "name", + "Mr. Chow" + ], + [ + "phone", + "222-3333" + ], + [ + "price", + 24.500 + ] + ], + "31": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Grilled Duck Breast" + ], + [ + "name", + "Chez Panisse" + ], + [ + "phone", + "222-3322" + ], + [ + "price", + 25.000 + ] + ], + "32": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Striped Bass" + ], + [ + "name", + "Spago" + ], + [ + "phone", + "333-2222" + ], + [ + "price", + 24.500 + ] + ], + "33": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Seafood" + ], + [ + "dish", + "Cedar Plank Salmon" + ], + [ + "name", + "Sriped Bass" + ], + [ + "phone", + "333-2233" + ], + [ + "price", + 21.500 + ] + ] + }, + "line": 23, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14", + "R15", + "R16", + "R17", + "R18", + "R19" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R16": [ + "REF", + 31 + ], + "R5": [ + "REF", + 20 + ], + "R14": [ + "REF", + 29 + ], + "R15": [ + "REF", + 30 + ], + "R12": [ + "REF", + 27 + ], + "R13": [ + "REF", + 28 + ], + "R10": [ + "REF", + 25 + ], + "R17": [ + "REF", + 32 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R8": [ + "REF", + 23 + ], + "R11": [ + "REF", + 26 + ], + "R18": [ + "REF", + 33 + ], + "R19": [ + "REF", + 34 + ], + "R7": [ + "REF", + 22 + ], + "R6": [ + "REF", + 21 + ], + "namedtuple": [ + "REF", + 1 + ], + "R4": [ + "REF", + 19 + ], + "R2": [ + "REF", + 17 + ], + "R9": [ + "REF", + 24 + ], + "R1": [ + "REF", + 16 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ], + "30": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Peking Duck" + ], + [ + "name", + "Mr. Chow" + ], + [ + "phone", + "222-3333" + ], + [ + "price", + 24.500 + ] + ], + "31": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Grilled Duck Breast" + ], + [ + "name", + "Chez Panisse" + ], + [ + "phone", + "222-3322" + ], + [ + "price", + 25.000 + ] + ], + "32": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Striped Bass" + ], + [ + "name", + "Spago" + ], + [ + "phone", + "333-2222" + ], + [ + "price", + 24.500 + ] + ], + "33": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Seafood" + ], + [ + "dish", + "Cedar Plank Salmon" + ], + [ + "name", + "Sriped Bass" + ], + [ + "phone", + "333-2233" + ], + [ + "price", + 21.500 + ] + ], + "34": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Egg Foo Young" + ], + [ + "name", + "Golden Pagoda" + ], + [ + "phone", + "232-3232" + ], + [ + "price", + 8.500 + ] + ] + }, + "line": 24, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "R7", + "R8", + "R9", + "R10", + "R11", + "R12", + "R13", + "R14", + "R15", + "R16", + "R17", + "R18", + "R19", + "R20" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R5": [ + "REF", + 20 + ], + "R16": [ + "REF", + 31 + ], + "R17": [ + "REF", + 32 + ], + "R14": [ + "REF", + 29 + ], + "R15": [ + "REF", + 30 + ], + "R12": [ + "REF", + 27 + ], + "R13": [ + "REF", + 28 + ], + "R10": [ + "REF", + 25 + ], + "R11": [ + "REF", + 26 + ], + "R3": [ + "REF", + 18 + ], + "R18": [ + "REF", + 33 + ], + "R19": [ + "REF", + 34 + ], + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R7": [ + "REF", + 22 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R8": [ + "REF", + 23 + ], + "R9": [ + "REF", + 24 + ], + "R20": [ + "REF", + 35 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Big Mac" + ], + [ + "name", + "McDonald's" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 3.950 + ] + ], + "23": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Whopper" + ], + [ + "name", + "Burger King" + ], + [ + "phone", + "444-3344" + ], + [ + "price", + 3.750 + ] + ], + "24": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Fish Tacos" + ], + [ + "dish", + "Mahi Mahi Burrito" + ], + [ + "name", + "Wahoo's" + ], + [ + "phone", + "443-4443" + ], + [ + "price", + 7.500 + ] + ], + "25": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Cheeseburger" + ], + [ + "name", + "In-N-Out Burger" + ], + [ + "phone", + "434-3344" + ], + [ + "price", + 2.500 + ] + ], + "26": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Burgers" + ], + [ + "dish", + "Hot Link Burger" + ], + [ + "name", + "The Shack" + ], + [ + "phone", + "333-3334" + ], + [ + "price", + 4.500 + ] + ], + "27": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Pizza" + ], + [ + "dish", + "Combo Pizza" + ], + [ + "name", + "Gina's" + ], + [ + "phone", + "334-4433" + ], + [ + "price", + 12.950 + ] + ], + "28": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Rogan Josh" + ], + [ + "name", + "Peacock, Room" + ], + [ + "phone", + "333-4443" + ], + [ + "price", + 12.500 + ] + ], + "29": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Indian" + ], + [ + "dish", + "Tandoori Chicken" + ], + [ + "name", + "Gaylord" + ], + [ + "phone", + "333-3433" + ], + [ + "price", + 13.500 + ] + ], + "30": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Peking Duck" + ], + [ + "name", + "Mr. Chow" + ], + [ + "phone", + "222-3333" + ], + [ + "price", + 24.500 + ] + ], + "31": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Grilled Duck Breast" + ], + [ + "name", + "Chez Panisse" + ], + [ + "phone", + "222-3322" + ], + [ + "price", + 25.000 + ] + ], + "32": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "California" + ], + [ + "dish", + "Striped Bass" + ], + [ + "name", + "Spago" + ], + [ + "phone", + "333-2222" + ], + [ + "price", + 24.500 + ] + ], + "33": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Seafood" + ], + [ + "dish", + "Cedar Plank Salmon" + ], + [ + "name", + "Sriped Bass" + ], + [ + "phone", + "333-2233" + ], + [ + "price", + 21.500 + ] + ], + "34": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Chinese" + ], + [ + "dish", + "Egg Foo Young" + ], + [ + "name", + "Golden Pagoda" + ], + [ + "phone", + "232-3232" + ], + [ + "price", + 8.500 + ] + ], + "35": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Delicatessen" + ], + [ + "dish", + "Pastrami Sandwich" + ], + [ + "name", + "Langer's" + ], + [ + "phone", + "333-2223" + ], + [ + "price", + 11.500 + ] + ] + }, + "line": 24, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/namedtuple.txt b/v3/tests/backend-tests/namedtuple.txt new file mode 100644 index 000000000..f9314c000 --- /dev/null +++ b/v3/tests/backend-tests/namedtuple.txt @@ -0,0 +1,25 @@ +from collections import namedtuple + +Restaurant = namedtuple('Restaurant', 'name cuisine phone dish price') + +R1 = Restaurant("Taillevent", "French", "343-3434", "Escargots", 24.50) +R2 = Restaurant("La Tour D'Argent", "French", "343-3344", "Ris de Veau", 48.50) +R3 = Restaurant("Pascal", "French", "333-4444", "Bouillabaisse", 32.00) +R4 = Restaurant("Thai Touch", "Thai", "444-3333", "Mee Krob", 10.95) +R5 = Restaurant("Thai Dishes", "Thai", "333-4433", "Paht Woon Sen", 8.50) +R6 = Restaurant("Thai Spoon", "Thai", "334-3344", "Mussamun", 9.00) +R7 = Restaurant("McDonald's", "Burgers", "333-4443", "Big Mac", 3.95) +R8 = Restaurant("Burger King", "Burgers", "444-3344", "Whopper", 3.75) +R9 = Restaurant("Wahoo's", "Fish Tacos", "443-4443", "Mahi Mahi Burrito", 7.50) +R10 = Restaurant("In-N-Out Burger", "Burgers", "434-3344", "Cheeseburger", 2.50) +R11 = Restaurant("The Shack", "Burgers", "333-3334", "Hot Link Burger", 4.50) +R12 = Restaurant("Gina's", "Pizza", "334-4433", "Combo Pizza", 12.95) +R13 = Restaurant("Peacock, Room", "Indian", "333-4443", "Rogan Josh", 12.50) +R14 = Restaurant("Gaylord", "Indian", "333-3433", "Tandoori Chicken", 13.50) +R15 = Restaurant("Mr. Chow", "Chinese", "222-3333", "Peking Duck", 24.50) +R16 = Restaurant("Chez Panisse", "California", "222-3322", "Grilled Duck Breast", 25.00) +R17 = Restaurant("Spago", "California", "333-2222", "Striped Bass", 24.50) +R18 = Restaurant("Sriped Bass", "Seafood", "333-2233", "Cedar Plank Salmon", 21.50) +R19 = Restaurant("Golden Pagoda", "Chinese", "232-3232", "Egg Foo Young", 8.50) +R20 = Restaurant("Langer's", "Delicatessen", "333-2223", "Pastrami Sandwich", 11.50) + diff --git a/v3/tests/backend-tests/newstyle_class.golden b/v3/tests/backend-tests/newstyle_class.golden new file mode 100644 index 000000000..06e9a6ac5 --- /dev/null +++ b/v3/tests/backend-tests/newstyle_class.golden @@ -0,0 +1,1597 @@ +{ + "code": "class A(object):\n bla = \"A\"\n def __init__(self):\n self.blb = \"B\"\n\n def x(self):\n self.bla = self.blb\n\na = A()\n\na.x()\n\nprint(a.bla)\nprint(A.bla)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "bla": "A" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [ + "bla" + ] + } + ], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "bla": "A", + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p", + "ordered_varnames": [ + "__init__", + "bla" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "FUNCTION", + "__init__(self)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "2": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "2": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "2": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A" + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "2": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "2": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "blb", + "B" + ] + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "2": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "blb", + "B" + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "", + "func_name": "x", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "x", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "x_f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "2": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "blb", + "B" + ] + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "", + "func_name": "x", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "x", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "x_f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "2": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "blb", + "B" + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "", + "func_name": "x", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "x", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "x_f3", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "2": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "bla", + "B" + ], + [ + "blb", + "B" + ] + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "2": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "bla", + "B" + ], + [ + "blb", + "B" + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "B\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "2": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "bla", + "B" + ], + [ + "blb", + "B" + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "B\nA\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 1 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "2": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 1 + ] + ] + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 1 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "bla", + "B" + ], + [ + "blb", + "B" + ] + ] + }, + "line": 14, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/newstyle_class.golden_py3 b/v3/tests/backend-tests/newstyle_class.golden_py3 new file mode 100644 index 000000000..c69af1f0e --- /dev/null +++ b/v3/tests/backend-tests/newstyle_class.golden_py3 @@ -0,0 +1,1631 @@ +{ + "code": "class A(object):\n bla = \"A\"\n def __init__(self):\n self.blb = \"B\"\n\n def x(self):\n self.bla = self.blb\n\na = A()\n\na.x()\n\nprint(a.bla)\nprint(A.bla)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": {}, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "bla": "A" + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1", + "ordered_varnames": [ + "bla" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "bla", + "A" + ] + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "bla": "A", + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p", + "ordered_varnames": [ + "__init__", + "bla" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "func_name": "A", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "A", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + } + ], + "globals": {}, + "heap": { + "1": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A" + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "A" + ], + "stdout": "", + "func_name": "__init__", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "__init__", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "__init___f2", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "blb", + "B" + ] + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "blb", + "B" + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "", + "func_name": "x", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "x", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "x_f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "blb", + "B" + ] + ] + }, + "line": 6, + "event": "call" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "", + "func_name": "x", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "x", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "x_f3", + "ordered_varnames": [ + "self" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "blb", + "B" + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "", + "func_name": "x", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": null, + "self": [ + "REF", + 5 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "x", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "x_f3", + "ordered_varnames": [ + "self", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "bla", + "B" + ], + [ + "blb", + "B" + ] + ] + }, + "line": 7, + "event": "return" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "bla", + "B" + ], + [ + "blb", + "B" + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "B\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "bla", + "B" + ], + [ + "blb", + "B" + ] + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "A", + "a" + ], + "stdout": "B\nA\n", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": [ + "REF", + 1 + ], + "x": [ + "REF", + 3 + ], + "bla": "A", + "__init__": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "A", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "A_f1_p_z", + "ordered_varnames": [ + "__init__", + "bla", + "x", + "__return__" + ] + } + ], + "globals": { + "A": [ + "REF", + 4 + ], + "a": [ + "REF", + 5 + ] + }, + "heap": { + "1": [ + "DICT", + [ + "x", + [ + "REF", + 3 + ] + ], + [ + "bla", + "A" + ], + [ + "__init__", + [ + "REF", + 2 + ] + ] + ], + "2": [ + "FUNCTION", + "__init__(self)", + 1 + ], + "3": [ + "FUNCTION", + "x(self)", + 1 + ], + "4": [ + "CLASS", + "A", + [], + [ + "__init__", + [ + "REF", + 2 + ] + ], + [ + "bla", + "A" + ], + [ + "x", + [ + "REF", + 3 + ] + ] + ], + "5": [ + "INSTANCE", + "A", + [ + "bla", + "B" + ], + [ + "blb", + "B" + ] + ] + }, + "line": 14, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/newstyle_class.txt b/v3/tests/backend-tests/newstyle_class.txt new file mode 100644 index 000000000..bc5e5551a --- /dev/null +++ b/v3/tests/backend-tests/newstyle_class.txt @@ -0,0 +1,15 @@ +class A(object): + bla = "A" + def __init__(self): + self.blb = "B" + + def x(self): + self.bla = self.blb + +a = A() + +a.x() + +print(a.bla) +print(A.bla) + diff --git a/v3/tests/backend-tests/one_func.golden b/v3/tests/backend-tests/one_func.golden new file mode 100644 index 000000000..ecd811f5c --- /dev/null +++ b/v3/tests/backend-tests/one_func.golden @@ -0,0 +1,350 @@ +{ + "code": "def add(a, b, c):\n d = a + b\n return c + d\n\nx = 5\ny = 10\nz = x * y\nprint(add(x, y, z))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "add" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "add": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": 5, + "add": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50 + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50 + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50 + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c", + "d" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50 + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "__return__": 65, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c", + "d", + "__return__" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50 + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50 + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 8, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/one_func.golden_py3 b/v3/tests/backend-tests/one_func.golden_py3 new file mode 100644 index 000000000..ecd811f5c --- /dev/null +++ b/v3/tests/backend-tests/one_func.golden_py3 @@ -0,0 +1,350 @@ +{ + "code": "def add(a, b, c):\n d = a + b\n return c + d\n\nx = 5\ny = 10\nz = x * y\nprint(add(x, y, z))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "add" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "add": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": 5, + "add": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50 + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50 + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50 + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c", + "d" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50 + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "__return__": 65, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c", + "d", + "__return__" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50 + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50 + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 8, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/one_func.txt b/v3/tests/backend-tests/one_func.txt new file mode 100644 index 000000000..9ade23636 --- /dev/null +++ b/v3/tests/backend-tests/one_func.txt @@ -0,0 +1,8 @@ +def add(a, b, c): + d = a + b + return c + d + +x = 5 +y = 10 +z = x * y +print(add(x, y, z)) diff --git a/v3/tests/backend-tests/open_error.golden b/v3/tests/backend-tests/open_error.golden new file mode 100644 index 000000000..7f343f9c8 --- /dev/null +++ b/v3/tests/backend-tests/open_error.golden @@ -0,0 +1,26 @@ +{ + "code": "for line in open(\"/etc/passwd\"):\n print(line)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "exception_msg": "NameError: name 'open' is not defined", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "exception" + } + ] +} diff --git a/v3/tests/backend-tests/open_error.golden_py3 b/v3/tests/backend-tests/open_error.golden_py3 new file mode 100644 index 000000000..7f343f9c8 --- /dev/null +++ b/v3/tests/backend-tests/open_error.golden_py3 @@ -0,0 +1,26 @@ +{ + "code": "for line in open(\"/etc/passwd\"):\n print(line)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [], + "stdout": "", + "exception_msg": "NameError: name 'open' is not defined", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "exception" + } + ] +} diff --git a/v3/tests/backend-tests/open_error.txt b/v3/tests/backend-tests/open_error.txt new file mode 100644 index 000000000..a80454764 --- /dev/null +++ b/v3/tests/backend-tests/open_error.txt @@ -0,0 +1,3 @@ +for line in open("/etc/passwd"): + print(line) + diff --git a/v3/tests/backend-tests/parent-finding-1.golden b/v3/tests/backend-tests/parent-finding-1.golden new file mode 100644 index 000000000..00a4aab28 --- /dev/null +++ b/v3/tests/backend-tests/parent-finding-1.golden @@ -0,0 +1,483 @@ +{ + "code": "# make sure OPT finds f as the parent of g\ndef f(x, y):\n def g(x):\n return x + y\n return g(3)\n\nf(1, 2)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "g" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ], + "2": [ + "FUNCTION", + "g(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ], + "2": [ + "FUNCTION", + "g(x)", + 1 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ], + "2": [ + "FUNCTION", + "g(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 5, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ], + "2": [ + "FUNCTION", + "g(x)", + 1 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "__return__": 5, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "g", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ], + "2": [ + "FUNCTION", + "g(x)", + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "__return__": 5, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "y", + "g", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ], + "2": [ + "FUNCTION", + "g(x)", + 1 + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/parent-finding-1.golden_py3 b/v3/tests/backend-tests/parent-finding-1.golden_py3 new file mode 100644 index 000000000..00a4aab28 --- /dev/null +++ b/v3/tests/backend-tests/parent-finding-1.golden_py3 @@ -0,0 +1,483 @@ +{ + "code": "# make sure OPT finds f as the parent of g\ndef f(x, y):\n def g(x):\n return x + y\n return g(3)\n\nf(1, 2)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "x", + "y" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "g" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ], + "2": [ + "FUNCTION", + "g(x)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ], + "2": [ + "FUNCTION", + "g(x)", + 1 + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "x" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ], + "2": [ + "FUNCTION", + "g(x)", + 1 + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "g", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "g" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 5, + "x": 3 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "g", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "g_f2", + "ordered_varnames": [ + "x", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ], + "2": [ + "FUNCTION", + "g(x)", + 1 + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "__return__": 5, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p", + "ordered_varnames": [ + "x", + "y", + "g", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ], + "2": [ + "FUNCTION", + "g(x)", + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "y": 2, + "x": 1, + "__return__": 5, + "g": [ + "REF", + 2 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "f", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "f_f1_p_z", + "ordered_varnames": [ + "x", + "y", + "g", + "__return__" + ] + } + ], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(x, y)", + null + ], + "2": [ + "FUNCTION", + "g(x)", + 1 + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/parent-finding-1.txt b/v3/tests/backend-tests/parent-finding-1.txt new file mode 100644 index 000000000..0726f0726 --- /dev/null +++ b/v3/tests/backend-tests/parent-finding-1.txt @@ -0,0 +1,7 @@ +# make sure OPT finds f as the parent of g +def f(x, y): + def g(x): + return x + y + return g(3) + +f(1, 2) diff --git a/v3/tests/backend-tests/parent-finding-2.golden b/v3/tests/backend-tests/parent-finding-2.golden new file mode 100644 index 000000000..812420ec4 --- /dev/null +++ b/v3/tests/backend-tests/parent-finding-2.golden @@ -0,0 +1,957 @@ +{ + "code": "# make sure OPT finds horse as parent of mask\ndef horse(mask):\n horse = mask\n def mask(horse):\n return horse\n return horse(mask)\n\nmask = lambda horse: horse(2)\n\nhorse(mask)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "horse": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "horse", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "mask": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1", + "ordered_varnames": [ + "mask" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "horse", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "mask": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1", + "ordered_varnames": [ + "mask" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "horse", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1", + "ordered_varnames": [ + "mask", + "horse" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "horse", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "horse": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "horse" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "horse": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "horse" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "mask", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "horse": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "horse" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "horse": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "mask", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "mask_f3", + "ordered_varnames": [ + "horse" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "mask", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "horse": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "horse" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "horse": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "mask", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "mask_f3", + "ordered_varnames": [ + "horse" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "mask", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "horse": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "horse" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 2, + "horse": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "mask", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "mask_f3", + "ordered_varnames": [ + "horse", + "__return__" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 2, + "horse": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "horse", + "__return__" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "horse", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 2, + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse", + "__return__" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 2, + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p_z", + "ordered_varnames": [ + "mask", + "horse", + "__return__" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 10, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/parent-finding-2.golden_py3 b/v3/tests/backend-tests/parent-finding-2.golden_py3 new file mode 100644 index 000000000..812420ec4 --- /dev/null +++ b/v3/tests/backend-tests/parent-finding-2.golden_py3 @@ -0,0 +1,957 @@ +{ + "code": "# make sure OPT finds horse as parent of mask\ndef horse(mask):\n horse = mask\n def mask(horse):\n return horse\n return horse(mask)\n\nmask = lambda horse: horse(2)\n\nhorse(mask)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "horse": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "horse", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "mask": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1", + "ordered_varnames": [ + "mask" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ] + }, + "line": 2, + "event": "call" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "horse", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "mask": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1", + "ordered_varnames": [ + "mask" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "horse", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1", + "ordered_varnames": [ + "mask", + "horse" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "horse", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "horse": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "horse" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 8, + "event": "call" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "horse": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "horse" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "mask", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "horse": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "horse" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "horse": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "mask", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "mask_f3", + "ordered_varnames": [ + "horse" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 4, + "event": "call" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "mask", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "horse": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "horse" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "horse": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "mask", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "mask_f3", + "ordered_varnames": [ + "horse" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "mask", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "horse": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "horse" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "__return__": 2, + "horse": 2 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "mask", + "is_zombie": false, + "parent_frame_id_list": [ + 1 + ], + "unique_hash": "mask_f3", + "ordered_varnames": [ + "horse", + "__return__" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 5, + "event": "return" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse" + ] + }, + { + "frame_id": 2, + "encoded_locals": { + "__return__": 2, + "horse": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f2", + "ordered_varnames": [ + "horse", + "__return__" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "horse", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 2, + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": true, + "is_parent": true, + "func_name": "horse", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p", + "ordered_varnames": [ + "mask", + "horse", + "__return__" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 6, + "event": "return" + }, + { + "ordered_globals": [ + "horse", + "mask" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": 2, + "horse": [ + "REF", + 2 + ], + "mask": [ + "REF", + 3 + ] + }, + "is_highlighted": false, + "is_parent": true, + "func_name": "horse", + "is_zombie": true, + "parent_frame_id_list": [], + "unique_hash": "horse_f1_p_z", + "ordered_varnames": [ + "mask", + "horse", + "__return__" + ] + } + ], + "globals": { + "horse": [ + "REF", + 1 + ], + "mask": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "horse(mask)", + null + ], + "2": [ + "FUNCTION", + "(horse)", + null + ], + "3": [ + "FUNCTION", + "mask(horse)", + 1 + ] + }, + "line": 10, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/parent-finding-2.txt b/v3/tests/backend-tests/parent-finding-2.txt new file mode 100644 index 000000000..c117d4163 --- /dev/null +++ b/v3/tests/backend-tests/parent-finding-2.txt @@ -0,0 +1,10 @@ +# make sure OPT finds horse as parent of mask +def horse(mask): + horse = mask + def mask(horse): + return horse + return horse(mask) + +mask = lambda horse: horse(2) + +horse(mask) diff --git a/v3/tests/backend-tests/parse_error.golden b/v3/tests/backend-tests/parse_error.golden new file mode 100644 index 000000000..047dce543 --- /dev/null +++ b/v3/tests/backend-tests/parse_error.golden @@ -0,0 +1,11 @@ +{ + "code": "x = 0\nfor i in range(10):\n x += 1\n print x\n x += 1\n\n", + "trace": [ + { + "exception_msg": "IndentationError: unexpected indent (, line 4)", + "line": 4, + "event": "uncaught_exception", + "offset": 3 + } + ] +} diff --git a/v3/tests/backend-tests/parse_error.golden_py3 b/v3/tests/backend-tests/parse_error.golden_py3 new file mode 100644 index 000000000..047dce543 --- /dev/null +++ b/v3/tests/backend-tests/parse_error.golden_py3 @@ -0,0 +1,11 @@ +{ + "code": "x = 0\nfor i in range(10):\n x += 1\n print x\n x += 1\n\n", + "trace": [ + { + "exception_msg": "IndentationError: unexpected indent (, line 4)", + "line": 4, + "event": "uncaught_exception", + "offset": 3 + } + ] +} diff --git a/v3/tests/backend-tests/parse_error.txt b/v3/tests/backend-tests/parse_error.txt new file mode 100644 index 000000000..efab03533 --- /dev/null +++ b/v3/tests/backend-tests/parse_error.txt @@ -0,0 +1,6 @@ +x = 0 +for i in range(10): + x += 1 + print x + x += 1 + diff --git a/v3/tests/backend-tests/parse_error_2.golden b/v3/tests/backend-tests/parse_error_2.golden new file mode 100644 index 000000000..a6973b8ee --- /dev/null +++ b/v3/tests/backend-tests/parse_error_2.golden @@ -0,0 +1,11 @@ +{ + "code": "x = 5\ny = x\nz = x + y\n\nfor x haslk;fjlasfhlkjl;sa\n", + "trace": [ + { + "exception_msg": "SyntaxError: invalid syntax (, line 5)", + "line": 5, + "event": "uncaught_exception", + "offset": 11 + } + ] +} diff --git a/v3/tests/backend-tests/parse_error_2.golden_py3 b/v3/tests/backend-tests/parse_error_2.golden_py3 new file mode 100644 index 000000000..a6973b8ee --- /dev/null +++ b/v3/tests/backend-tests/parse_error_2.golden_py3 @@ -0,0 +1,11 @@ +{ + "code": "x = 5\ny = x\nz = x + y\n\nfor x haslk;fjlasfhlkjl;sa\n", + "trace": [ + { + "exception_msg": "SyntaxError: invalid syntax (, line 5)", + "line": 5, + "event": "uncaught_exception", + "offset": 11 + } + ] +} diff --git a/v3/tests/backend-tests/parse_error_2.txt b/v3/tests/backend-tests/parse_error_2.txt new file mode 100644 index 000000000..80070e74b --- /dev/null +++ b/v3/tests/backend-tests/parse_error_2.txt @@ -0,0 +1,5 @@ +x = 5 +y = x +z = x + y + +for x haslk;fjlasfhlkjl;sa diff --git a/v3/tests/backend-tests/parse_error_3.golden b/v3/tests/backend-tests/parse_error_3.golden new file mode 100644 index 000000000..8ae537dd0 --- /dev/null +++ b/v3/tests/backend-tests/parse_error_3.golden @@ -0,0 +1,11 @@ +{ + "code": "x = []\nfor i in range(10):\n x.append(i)\n if i == 24:\n pass\n print y\n", + "trace": [ + { + "exception_msg": "IndentationError: unindent does not match any outer indentation level (, line 6)", + "line": 6, + "event": "uncaught_exception", + "offset": 11 + } + ] +} diff --git a/v3/tests/backend-tests/parse_error_3.golden_py3 b/v3/tests/backend-tests/parse_error_3.golden_py3 new file mode 100644 index 000000000..8ae537dd0 --- /dev/null +++ b/v3/tests/backend-tests/parse_error_3.golden_py3 @@ -0,0 +1,11 @@ +{ + "code": "x = []\nfor i in range(10):\n x.append(i)\n if i == 24:\n pass\n print y\n", + "trace": [ + { + "exception_msg": "IndentationError: unindent does not match any outer indentation level (, line 6)", + "line": 6, + "event": "uncaught_exception", + "offset": 11 + } + ] +} diff --git a/v3/tests/backend-tests/parse_error_3.txt b/v3/tests/backend-tests/parse_error_3.txt new file mode 100644 index 000000000..bcc7bbf0e --- /dev/null +++ b/v3/tests/backend-tests/parse_error_3.txt @@ -0,0 +1,6 @@ +x = [] +for i in range(10): + x.append(i) + if i == 24: + pass + print y diff --git a/v3/tests/backend-tests/pie-test.golden b/v3/tests/backend-tests/pie-test.golden new file mode 100644 index 000000000..1a5218ee0 --- /dev/null +++ b/v3/tests/backend-tests/pie-test.golden @@ -0,0 +1,91 @@ +{ + "code": "import operator\nfrom math import pi, e\npie = operator.add(pi, e)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "operator" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "module", + "operator" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "operator", + "pi", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 1 + ], + "pi": 3.142, + "e": 2.718 + }, + "heap": { + "1": [ + "module", + "operator" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "operator", + "pi", + "e", + "pie" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 1 + ], + "pi": 3.142, + "e": 2.718, + "pie": 5.860 + }, + "heap": { + "1": [ + "module", + "operator" + ] + }, + "line": 3, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/pie-test.golden_py3 b/v3/tests/backend-tests/pie-test.golden_py3 new file mode 100644 index 000000000..e913056f2 --- /dev/null +++ b/v3/tests/backend-tests/pie-test.golden_py3 @@ -0,0 +1,91 @@ +{ + "code": "import operator\nfrom math import pi, e\npie = operator.add(pi, e)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "operator" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "module" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "operator", + "pi", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 1 + ], + "pi": 3.142, + "e": 2.718 + }, + "heap": { + "1": [ + "INSTANCE", + "module" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "operator", + "pi", + "e", + "pie" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "operator": [ + "REF", + 1 + ], + "pi": 3.142, + "e": 2.718, + "pie": 5.860 + }, + "heap": { + "1": [ + "INSTANCE", + "module" + ] + }, + "line": 3, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/pie-test.txt b/v3/tests/backend-tests/pie-test.txt new file mode 100644 index 000000000..a73f77ec2 --- /dev/null +++ b/v3/tests/backend-tests/pie-test.txt @@ -0,0 +1,3 @@ +import operator +from math import pi, e +pie = operator.add(pi, e) diff --git a/v3/tests/backend-tests/py-modules.golden b/v3/tests/backend-tests/py-modules.golden new file mode 100644 index 000000000..6f5f87c33 --- /dev/null +++ b/v3/tests/backend-tests/py-modules.golden @@ -0,0 +1,132 @@ +{ + "code": "# test to make sure nothing crashes when tracing code in pure-Python\n# function calls imported from modules\nimport random\nrandom.randint(10, 100)\n\nfrom re import compile\nx = compile('foo')\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "random" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "random": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "module", + "random" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "random" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "random": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "module", + "random" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "random", + "compile" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "compile": [ + "REF", + 2 + ], + "random": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "module", + "random" + ], + "2": [ + "FUNCTION", + "compile(pattern, flags)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "random", + "compile", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "compile": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "random": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "module", + "random" + ], + "2": [ + "FUNCTION", + "compile(pattern, flags)", + null + ], + "3": [ + "_sre.SRE_Pattern", + "<_sre.SRE_Pattern object at 0xADDR>" + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/py-modules.golden_py3 b/v3/tests/backend-tests/py-modules.golden_py3 new file mode 100644 index 000000000..e8551d9ee --- /dev/null +++ b/v3/tests/backend-tests/py-modules.golden_py3 @@ -0,0 +1,132 @@ +{ + "code": "# test to make sure nothing crashes when tracing code in pure-Python\n# function calls imported from modules\nimport random\nrandom.randint(10, 100)\n\nfrom re import compile\nx = compile('foo')\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "random" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "random": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "module" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "random" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "random": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "module" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "random", + "compile" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "compile": [ + "REF", + 2 + ], + "random": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "module" + ], + "2": [ + "FUNCTION", + "compile(pattern, flags)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "random", + "compile", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "compile": [ + "REF", + 2 + ], + "x": [ + "REF", + 3 + ], + "random": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "INSTANCE", + "module" + ], + "2": [ + "FUNCTION", + "compile(pattern, flags)", + null + ], + "3": [ + "INSTANCE", + "SRE_Pattern" + ] + }, + "line": 7, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/py-modules.txt b/v3/tests/backend-tests/py-modules.txt new file mode 100644 index 000000000..eb4211809 --- /dev/null +++ b/v3/tests/backend-tests/py-modules.txt @@ -0,0 +1,7 @@ +# test to make sure nothing crashes when tracing code in pure-Python +# function calls imported from modules +import random +random.randint(10, 100) + +from re import compile +x = compile('foo') diff --git a/v3/tests/backend-tests/py3_func_annotations.golden b/v3/tests/backend-tests/py3_func_annotations.golden new file mode 100644 index 000000000..a62687849 --- /dev/null +++ b/v3/tests/backend-tests/py3_func_annotations.golden @@ -0,0 +1,11 @@ +{ + "code": "# test case of Python 3 function annotations inspired by David G. Kay\ndef remove_by_name(L: 'list of Restaurant', name: str) -> 'list of Restaurant':\n \"\"\" Given name, remove all Restaurants with that name from collection.\n \"\"\"\n result = []\n for r in L:\n if r.name != name:\n result.append(r)\n return result\n", + "trace": [ + { + "exception_msg": "SyntaxError: invalid syntax (, line 2)", + "line": 2, + "event": "uncaught_exception", + "offset": 21 + } + ] +} diff --git a/v3/tests/backend-tests/py3_func_annotations.golden_py3 b/v3/tests/backend-tests/py3_func_annotations.golden_py3 new file mode 100644 index 000000000..20571a78e --- /dev/null +++ b/v3/tests/backend-tests/py3_func_annotations.golden_py3 @@ -0,0 +1,38 @@ +{ + "code": "# test case of Python 3 function annotations inspired by David G. Kay\ndef remove_by_name(L: 'list of Restaurant', name: str) -> 'list of Restaurant':\n \"\"\" Given name, remove all Restaurants with that name from collection.\n \"\"\"\n result = []\n for r in L:\n if r.name != name:\n result.append(r)\n return result\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "remove_by_name" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "remove_by_name": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "remove_by_name(L, name)", + null + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/py3_func_annotations.txt b/v3/tests/backend-tests/py3_func_annotations.txt new file mode 100644 index 000000000..24037afbf --- /dev/null +++ b/v3/tests/backend-tests/py3_func_annotations.txt @@ -0,0 +1,9 @@ +# test case of Python 3 function annotations inspired by David G. Kay +def remove_by_name(L: 'list of Restaurant', name: str) -> 'list of Restaurant': + """ Given name, remove all Restaurants with that name from collection. + """ + result = [] + for r in L: + if r.name != name: + result.append(r) + return result diff --git a/v3/tests/backend-tests/py3_kwonly_args.golden b/v3/tests/backend-tests/py3_kwonly_args.golden new file mode 100644 index 000000000..f8bfc9a22 --- /dev/null +++ b/v3/tests/backend-tests/py3_kwonly_args.golden @@ -0,0 +1,11 @@ +{ + "code": "# Python 3 keyword-only arguments\ndef my_sorted(iterable, *, reverse=False, key=None):\n pass\n", + "trace": [ + { + "exception_msg": "SyntaxError: invalid syntax (, line 2)", + "line": 2, + "event": "uncaught_exception", + "offset": 26 + } + ] +} diff --git a/v3/tests/backend-tests/py3_kwonly_args.golden_py3 b/v3/tests/backend-tests/py3_kwonly_args.golden_py3 new file mode 100644 index 000000000..2affddfb3 --- /dev/null +++ b/v3/tests/backend-tests/py3_kwonly_args.golden_py3 @@ -0,0 +1,38 @@ +{ + "code": "# Python 3 keyword-only arguments\ndef my_sorted(iterable, *, reverse=False, key=None):\n pass\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "my_sorted" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "my_sorted": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "my_sorted(iterable, reverse, key)", + null + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/py3_kwonly_args.txt b/v3/tests/backend-tests/py3_kwonly_args.txt new file mode 100644 index 000000000..e49a8d85a --- /dev/null +++ b/v3/tests/backend-tests/py3_kwonly_args.txt @@ -0,0 +1,3 @@ +# Python 3 keyword-only arguments +def my_sorted(iterable, *, reverse=False, key=None): + pass diff --git a/v3/tests/backend-tests/restaurants.golden b/v3/tests/backend-tests/restaurants.golden new file mode 100644 index 000000000..5d9d1a8d6 --- /dev/null +++ b/v3/tests/backend-tests/restaurants.golden @@ -0,0 +1,5541 @@ +{ + "code": "# Adapted from an example by David G. Kay\nfrom collections import namedtuple\n\nRestaurant = namedtuple('Restaurant', 'name cuisine phone dish price')\n\nR1 = Restaurant(\"Taillevent\", \"French\", \"343-3434\", \"Escargots\", 24.50)\nR2 = Restaurant(\"La Tour D'Argent\", \"French\", \"343-3344\", \"Ris de Veau\", 48.50)\nR3 = Restaurant(\"Pascal\", \"French\", \"333-4444\", \"Bouillabaisse\", 32.00)\nR4 = Restaurant(\"Thai Touch\", \"Thai\", \"444-3333\", \"Mee Krob\", 10.95)\nR5 = Restaurant(\"Thai Dishes\", \"Thai\", \"333-4433\", \"Paht Woon Sen\", 8.50)\nR6 = Restaurant(\"Thai Spoon\", \"Thai\", \"334-3344\", \"Mussamun\", 9.00)\n\nRL = [R1, R2, R3, R4, R5, R6]\n\nFrenchRestaurants = [r for r in RL if r.cuisine==\"French\"]\nprint(FrenchRestaurants)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "Restaurant": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "Restaurant": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "Restaurant": [ + "REF", + 2 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "R3": [ + "REF", + 18 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL", + "r" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "r": [ + "REF", + 16 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL", + "r" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "r": [ + "REF", + 17 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL", + "r" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "r": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL", + "r" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "r": [ + "REF", + 19 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL", + "r" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "r": [ + "REF", + 20 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL", + "r" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "r": [ + "REF", + 21 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL", + "r", + "FrenchRestaurants" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "FrenchRestaurants": [ + "REF", + 23 + ], + "r": [ + "REF", + 21 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ], + "23": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ] + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL", + "r", + "FrenchRestaurants" + ], + "stdout": "[Restaurant(name='Taillevent', cuisine='French', phone='343-3434', dish='Escargots', price=24.5), Restaurant(name=\"La Tour D'Argent\", cuisine='French', phone='343-3344', dish='Ris de Veau', price=48.5), Restaurant(name='Pascal', cuisine='French', phone='333-4444', dish='Bouillabaisse', price=32.0)]\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "FrenchRestaurants": [ + "REF", + 23 + ], + "r": [ + "REF", + 21 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "staticmethod", + "" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "classmethod", + "" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "property", + "" + ], + "12": [ + "property", + "" + ], + "13": [ + "property", + "" + ], + "14": [ + "property", + "" + ], + "15": [ + "property", + "" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ], + "23": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ] + ] + }, + "line": 16, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/restaurants.golden_py3 b/v3/tests/backend-tests/restaurants.golden_py3 new file mode 100644 index 000000000..e689bdf47 --- /dev/null +++ b/v3/tests/backend-tests/restaurants.golden_py3 @@ -0,0 +1,6936 @@ +{ + "code": "# Adapted from an example by David G. Kay\nfrom collections import namedtuple\n\nRestaurant = namedtuple('Restaurant', 'name cuisine phone dish price')\n\nR1 = Restaurant(\"Taillevent\", \"French\", \"343-3434\", \"Escargots\", 24.50)\nR2 = Restaurant(\"La Tour D'Argent\", \"French\", \"343-3344\", \"Ris de Veau\", 48.50)\nR3 = Restaurant(\"Pascal\", \"French\", \"333-4444\", \"Bouillabaisse\", 32.00)\nR4 = Restaurant(\"Thai Touch\", \"Thai\", \"444-3333\", \"Mee Krob\", 10.95)\nR5 = Restaurant(\"Thai Dishes\", \"Thai\", \"333-4433\", \"Paht Woon Sen\", 8.50)\nR6 = Restaurant(\"Thai Spoon\", \"Thai\", \"334-3344\", \"Mussamun\", 9.00)\n\nRL = [R1, R2, R3, R4, R5, R6]\n\nFrenchRestaurants = [r for r in RL if r.cuisine==\"French\"]\nprint(FrenchRestaurants)\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "Restaurant": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "Restaurant": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "namedtuple": [ + "REF", + 1 + ], + "Restaurant": [ + "REF", + 2 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "R3": [ + "REF", + 18 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 23 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0" + ] + } + ], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ], + "23": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 15, + "event": "call" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 23 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0" + ] + } + ], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ], + "23": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 23 + ], + "r": [ + "REF", + 16 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "r" + ] + } + ], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ], + "23": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 23 + ], + "r": [ + "REF", + 17 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "r" + ] + } + ], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ], + "23": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 23 + ], + "r": [ + "REF", + 18 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "r" + ] + } + ], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ], + "23": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 23 + ], + "r": [ + "REF", + 19 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "r" + ] + } + ], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ], + "23": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 23 + ], + "r": [ + "REF", + 20 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "r" + ] + } + ], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ], + "23": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 23 + ], + "r": [ + "REF", + 21 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "r" + ] + } + ], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ], + "23": [ + "INSTANCE", + "list_iterator" + ] + }, + "line": 15, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + ".0": [ + "REF", + 23 + ], + "__return__": [ + "REF", + 24 + ], + "r": [ + "REF", + 21 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "_f1", + "ordered_varnames": [ + ".0", + "r", + "__return__" + ] + } + ], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ], + "23": [ + "INSTANCE", + "list_iterator" + ], + "24": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ] + ] + }, + "line": 15, + "event": "return" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL", + "FrenchRestaurants" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "FrenchRestaurants": [ + "REF", + 24 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ], + "24": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ] + ] + }, + "line": 16, + "event": "step_line" + }, + { + "ordered_globals": [ + "namedtuple", + "Restaurant", + "R1", + "R2", + "R3", + "R4", + "R5", + "R6", + "RL", + "FrenchRestaurants" + ], + "stdout": "[Restaurant(name='Taillevent', cuisine='French', phone='343-3434', dish='Escargots', price=24.5), Restaurant(name=\"La Tour D'Argent\", cuisine='French', phone='343-3344', dish='Ris de Veau', price=48.5), Restaurant(name='Pascal', cuisine='French', phone='333-4444', dish='Bouillabaisse', price=32.0)]\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "R4": [ + "REF", + 19 + ], + "namedtuple": [ + "REF", + 1 + ], + "R6": [ + "REF", + 21 + ], + "R1": [ + "REF", + 16 + ], + "R2": [ + "REF", + 17 + ], + "Restaurant": [ + "REF", + 2 + ], + "R3": [ + "REF", + 18 + ], + "FrenchRestaurants": [ + "REF", + 24 + ], + "R5": [ + "REF", + 20 + ], + "RL": [ + "REF", + 22 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "namedtuple(typename, field_names, verbose, rename)", + null + ], + "2": [ + "CLASS", + "Restaurant", + [ + "tuple" + ], + [ + "__getnewargs__", + [ + "REF", + 3 + ] + ], + [ + "__new__", + [ + "REF", + 4 + ] + ], + [ + "__repr__", + [ + "REF", + 5 + ] + ], + [ + "__slots__", + [ + "REF", + 6 + ] + ], + [ + "_asdict", + [ + "REF", + 7 + ] + ], + [ + "_fields", + [ + "REF", + 8 + ] + ], + [ + "_make", + [ + "REF", + 9 + ] + ], + [ + "_replace", + [ + "REF", + 10 + ] + ], + [ + "cuisine", + [ + "REF", + 11 + ] + ], + [ + "dish", + [ + "REF", + 12 + ] + ], + [ + "name", + [ + "REF", + 13 + ] + ], + [ + "phone", + [ + "REF", + 14 + ] + ], + [ + "price", + [ + "REF", + 15 + ] + ] + ], + "3": [ + "FUNCTION", + "__getnewargs__(self)", + null + ], + "4": [ + "INSTANCE", + "staticmethod" + ], + "5": [ + "FUNCTION", + "__repr__(self)", + null + ], + "6": [ + "TUPLE" + ], + "7": [ + "FUNCTION", + "_asdict(self)", + null + ], + "8": [ + "TUPLE", + "name", + "cuisine", + "phone", + "dish", + "price" + ], + "9": [ + "INSTANCE", + "classmethod" + ], + "10": [ + "FUNCTION", + "_replace(_self, **kwds)", + null + ], + "11": [ + "INSTANCE", + "property" + ], + "12": [ + "INSTANCE", + "property" + ], + "13": [ + "INSTANCE", + "property" + ], + "14": [ + "INSTANCE", + "property" + ], + "15": [ + "INSTANCE", + "property" + ], + "16": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Escargots" + ], + [ + "name", + "Taillevent" + ], + [ + "phone", + "343-3434" + ], + [ + "price", + 24.500 + ] + ], + "17": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Ris de Veau" + ], + [ + "name", + "La Tour D'Argent" + ], + [ + "phone", + "343-3344" + ], + [ + "price", + 48.500 + ] + ], + "18": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "French" + ], + [ + "dish", + "Bouillabaisse" + ], + [ + "name", + "Pascal" + ], + [ + "phone", + "333-4444" + ], + [ + "price", + 32.000 + ] + ], + "19": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mee Krob" + ], + [ + "name", + "Thai Touch" + ], + [ + "phone", + "444-3333" + ], + [ + "price", + 10.950 + ] + ], + "20": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Paht Woon Sen" + ], + [ + "name", + "Thai Dishes" + ], + [ + "phone", + "333-4433" + ], + [ + "price", + 8.500 + ] + ], + "21": [ + "INSTANCE", + "Restaurant", + [ + "cuisine", + "Thai" + ], + [ + "dish", + "Mussamun" + ], + [ + "name", + "Thai Spoon" + ], + [ + "phone", + "334-3344" + ], + [ + "price", + 9.000 + ] + ], + "22": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ], + [ + "REF", + 19 + ], + [ + "REF", + 20 + ], + [ + "REF", + 21 + ] + ], + "24": [ + "LIST", + [ + "REF", + 16 + ], + [ + "REF", + 17 + ], + [ + "REF", + 18 + ] + ] + }, + "line": 16, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/restaurants.txt b/v3/tests/backend-tests/restaurants.txt new file mode 100644 index 000000000..3d7c3b186 --- /dev/null +++ b/v3/tests/backend-tests/restaurants.txt @@ -0,0 +1,16 @@ +# Adapted from an example by David G. Kay +from collections import namedtuple + +Restaurant = namedtuple('Restaurant', 'name cuisine phone dish price') + +R1 = Restaurant("Taillevent", "French", "343-3434", "Escargots", 24.50) +R2 = Restaurant("La Tour D'Argent", "French", "343-3344", "Ris de Veau", 48.50) +R3 = Restaurant("Pascal", "French", "333-4444", "Bouillabaisse", 32.00) +R4 = Restaurant("Thai Touch", "Thai", "444-3333", "Mee Krob", 10.95) +R5 = Restaurant("Thai Dishes", "Thai", "333-4433", "Paht Woon Sen", 8.50) +R6 = Restaurant("Thai Spoon", "Thai", "334-3344", "Mussamun", 9.00) + +RL = [R1, R2, R3, R4, R5, R6] + +FrenchRestaurants = [r for r in RL if r.cuisine=="French"] +print(FrenchRestaurants) diff --git a/v3/tests/backend-tests/runtime_error.golden b/v3/tests/backend-tests/runtime_error.golden new file mode 100644 index 000000000..c26590156 --- /dev/null +++ b/v3/tests/backend-tests/runtime_error.golden @@ -0,0 +1,440 @@ +{ + "code": "x = 5\nfor i in range(10):\n if i == x:\n z = x + y # ERROR!\n else:\n z = i\n print(z)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": 5 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": 5 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": 5 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": 5, + "z": 0 + }, + "heap": {}, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": 5, + "z": 0 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": 5, + "z": 0 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": 5, + "z": 0 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": 5, + "z": 1 + }, + "heap": {}, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": 5, + "z": 1 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": 5, + "z": 1 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": 5, + "z": 1 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": 5, + "z": 2 + }, + "heap": {}, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": 5, + "z": 2 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": 5, + "z": 2 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": 5, + "z": 2 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": 5, + "z": 3 + }, + "heap": {}, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": 5, + "z": 3 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": 5, + "z": 3 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": 5, + "z": 3 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": 5, + "z": 4 + }, + "heap": {}, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": 5, + "z": 4 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": 5, + "z": 4 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": 5, + "z": 4 + }, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n4\n", + "exception_msg": "NameError: name 'y' is not defined", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": 5, + "z": 4 + }, + "heap": {}, + "line": 4, + "event": "exception" + } + ] +} diff --git a/v3/tests/backend-tests/runtime_error.golden_py3 b/v3/tests/backend-tests/runtime_error.golden_py3 new file mode 100644 index 000000000..c26590156 --- /dev/null +++ b/v3/tests/backend-tests/runtime_error.golden_py3 @@ -0,0 +1,440 @@ +{ + "code": "x = 5\nfor i in range(10):\n if i == x:\n z = x + y # ERROR!\n else:\n z = i\n print(z)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": 5 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": 5 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": 5 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": 5, + "z": 0 + }, + "heap": {}, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": 5, + "z": 0 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": 5, + "z": 0 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": 5, + "z": 0 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": 5, + "z": 1 + }, + "heap": {}, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": 5, + "z": 1 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": 5, + "z": 1 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": 5, + "z": 1 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": 5, + "z": 2 + }, + "heap": {}, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": 5, + "z": 2 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": 5, + "z": 2 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": 5, + "z": 2 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": 5, + "z": 3 + }, + "heap": {}, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": 5, + "z": 3 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": 5, + "z": 3 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": 5, + "z": 3 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": 5, + "z": 4 + }, + "heap": {}, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": 5, + "z": 4 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": 5, + "z": 4 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n4\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": 5, + "z": 4 + }, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "i", + "z" + ], + "stdout": "0\n1\n2\n3\n4\n", + "exception_msg": "NameError: name 'y' is not defined", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": 5, + "z": 4 + }, + "heap": {}, + "line": 4, + "event": "exception" + } + ] +} diff --git a/v3/tests/backend-tests/runtime_error.txt b/v3/tests/backend-tests/runtime_error.txt new file mode 100644 index 000000000..d8be5bf4a --- /dev/null +++ b/v3/tests/backend-tests/runtime_error.txt @@ -0,0 +1,8 @@ +x = 5 +for i in range(10): + if i == x: + z = x + y # ERROR! + else: + z = i + print(z) + diff --git a/v3/tests/backend-tests/set_test.golden b/v3/tests/backend-tests/set_test.golden new file mode 100644 index 000000000..bf39a5207 --- /dev/null +++ b/v3/tests/backend-tests/set_test.golden @@ -0,0 +1,151 @@ +{ + "code": "x = set()\nx.add('a')\nx.add('a')\nx.add('b')\nx.add('c')\nx.add('b')\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "SET" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "SET", + "a" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "SET", + "a" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "SET", + "a", + "b" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "SET", + "a", + "c", + "b" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "SET", + "a", + "c", + "b" + ] + }, + "line": 6, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/set_test.golden_py3 b/v3/tests/backend-tests/set_test.golden_py3 new file mode 100644 index 000000000..bf39a5207 --- /dev/null +++ b/v3/tests/backend-tests/set_test.golden_py3 @@ -0,0 +1,151 @@ +{ + "code": "x = set()\nx.add('a')\nx.add('a')\nx.add('b')\nx.add('c')\nx.add('b')\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "SET" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "SET", + "a" + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "SET", + "a" + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "SET", + "a", + "b" + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "SET", + "a", + "c", + "b" + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "SET", + "a", + "c", + "b" + ] + }, + "line": 6, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/set_test.txt b/v3/tests/backend-tests/set_test.txt new file mode 100644 index 000000000..72ca6fa0a --- /dev/null +++ b/v3/tests/backend-tests/set_test.txt @@ -0,0 +1,7 @@ +x = set() +x.add('a') +x.add('a') +x.add('b') +x.add('c') +x.add('b') + diff --git a/v3/tests/backend-tests/simple.golden b/v3/tests/backend-tests/simple.golden new file mode 100644 index 000000000..c3f69caa6 --- /dev/null +++ b/v3/tests/backend-tests/simple.golden @@ -0,0 +1,501 @@ +{ + "code": "x = 5\ny = 10\nz = x * y\nprint(\"HELLO WORLD\")\nfor i in range(10):\n print(z * i)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": 5 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "z": 50 + }, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "HELLO WORLD\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "z": 50 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 7, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n350\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 7, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n350\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 8, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n350\n400\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 8, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n350\n400\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 9, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n350\n400\n450\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 9, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n350\n400\n450\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 9, + "y": 10, + "z": 50, + "x": 5 + }, + "heap": {}, + "line": 5, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/simple.golden_py3 b/v3/tests/backend-tests/simple.golden_py3 new file mode 100644 index 000000000..c3f69caa6 --- /dev/null +++ b/v3/tests/backend-tests/simple.golden_py3 @@ -0,0 +1,501 @@ +{ + "code": "x = 5\ny = 10\nz = x * y\nprint(\"HELLO WORLD\")\nfor i in range(10):\n print(z * i)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": 5 + }, + "heap": {}, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5 + }, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "z": 50 + }, + "heap": {}, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z" + ], + "stdout": "HELLO WORLD\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "z": 50 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 0, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 1, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 2, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 3, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 4, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 5, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 6, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 7, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n350\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 7, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n350\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 8, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n350\n400\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 8, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n350\n400\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 9, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n350\n400\n450\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 9, + "x": 5, + "z": 50, + "y": 10 + }, + "heap": {}, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y", + "z", + "i" + ], + "stdout": "HELLO WORLD\n0\n50\n100\n150\n200\n250\n300\n350\n400\n450\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "i": 9, + "y": 10, + "z": 50, + "x": 5 + }, + "heap": {}, + "line": 5, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/simple.txt b/v3/tests/backend-tests/simple.txt new file mode 100644 index 000000000..8b7c08a7d --- /dev/null +++ b/v3/tests/backend-tests/simple.txt @@ -0,0 +1,7 @@ +x = 5 +y = 10 +z = x * y +print("HELLO WORLD") +for i in range(10): + print(z * i) + diff --git a/v3/tests/backend-tests/three_lists.golden b/v3/tests/backend-tests/three_lists.golden new file mode 100644 index 000000000..27775034e --- /dev/null +++ b/v3/tests/backend-tests/three_lists.golden @@ -0,0 +1,632 @@ +{ + "code": "# test case submitted by Peter Wentworth (p.wentworth@ru.ac.za)\n\ndef f(xs):\n print(xs)\n\na = [10, 20, 30]\nb = a\nc = [10, 20, 30]\nd = 24\ne = (a, b, c)\n\nf(b)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a", + "b" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c", + "d" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "d": 24, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c", + "d", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "e": [ + "REF", + 4 + ], + "d": 24, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ], + "4": [ + "TUPLE", + [ + "REF", + 2 + ], + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c", + "d", + "e" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "e": [ + "REF", + 4 + ], + "d": 24, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ], + "4": [ + "TUPLE", + [ + "REF", + 2 + ], + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c", + "d", + "e" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "e": [ + "REF", + 4 + ], + "d": 24, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ], + "4": [ + "TUPLE", + [ + "REF", + 2 + ], + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c", + "d", + "e" + ], + "stdout": "[10, 20, 30]\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "xs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "xs", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "e": [ + "REF", + 4 + ], + "d": 24, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ], + "4": [ + "TUPLE", + [ + "REF", + 2 + ], + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c", + "d", + "e" + ], + "stdout": "[10, 20, 30]\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "e": [ + "REF", + 4 + ], + "d": 24, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ], + "4": [ + "TUPLE", + [ + "REF", + 2 + ], + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 12, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/three_lists.golden_py3 b/v3/tests/backend-tests/three_lists.golden_py3 new file mode 100644 index 000000000..27775034e --- /dev/null +++ b/v3/tests/backend-tests/three_lists.golden_py3 @@ -0,0 +1,632 @@ +{ + "code": "# test case submitted by Peter Wentworth (p.wentworth@ru.ac.za)\n\ndef f(xs):\n print(xs)\n\na = [10, 20, 30]\nb = a\nc = [10, 20, 30]\nd = 24\ne = (a, b, c)\n\nf(b)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "f" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a", + "b" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 2 + ], + "b": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 9, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c", + "d" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "d": 24, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c", + "d", + "e" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "e": [ + "REF", + 4 + ], + "d": 24, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ], + "4": [ + "TUPLE", + [ + "REF", + 2 + ], + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c", + "d", + "e" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "e": [ + "REF", + 4 + ], + "d": 24, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ], + "4": [ + "TUPLE", + [ + "REF", + 2 + ], + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 3, + "event": "call" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c", + "d", + "e" + ], + "stdout": "", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "xs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "xs" + ] + } + ], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "e": [ + "REF", + 4 + ], + "d": 24, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ], + "4": [ + "TUPLE", + [ + "REF", + 2 + ], + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c", + "d", + "e" + ], + "stdout": "[10, 20, 30]\n", + "func_name": "f", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "xs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "f", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "f_f1", + "ordered_varnames": [ + "xs", + "__return__" + ] + } + ], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "e": [ + "REF", + 4 + ], + "d": 24, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ], + "4": [ + "TUPLE", + [ + "REF", + 2 + ], + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 4, + "event": "return" + }, + { + "ordered_globals": [ + "f", + "a", + "b", + "c", + "d", + "e" + ], + "stdout": "[10, 20, 30]\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "a": [ + "REF", + 2 + ], + "c": [ + "REF", + 3 + ], + "b": [ + "REF", + 2 + ], + "e": [ + "REF", + 4 + ], + "d": 24, + "f": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "f(xs)", + null + ], + "2": [ + "LIST", + 10, + 20, + 30 + ], + "3": [ + "LIST", + 10, + 20, + 30 + ], + "4": [ + "TUPLE", + [ + "REF", + 2 + ], + [ + "REF", + 2 + ], + [ + "REF", + 3 + ] + ] + }, + "line": 12, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/three_lists.txt b/v3/tests/backend-tests/three_lists.txt new file mode 100644 index 000000000..388dffc20 --- /dev/null +++ b/v3/tests/backend-tests/three_lists.txt @@ -0,0 +1,13 @@ +# test case submitted by Peter Wentworth (p.wentworth@ru.ac.za) + +def f(xs): + print(xs) + +a = [10, 20, 30] +b = a +c = [10, 20, 30] +d = 24 +e = (a, b, c) + +f(b) + diff --git a/v3/tests/backend-tests/tuple_test.golden b/v3/tests/backend-tests/tuple_test.golden new file mode 100644 index 000000000..f1c5b4fc3 --- /dev/null +++ b/v3/tests/backend-tests/tuple_test.golden @@ -0,0 +1,72 @@ +{ + "code": "x = (1, 2, 3)\ny = (4,)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2, + 3 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2, + 3 + ], + "2": [ + "TUPLE", + 4 + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/tuple_test.golden_py3 b/v3/tests/backend-tests/tuple_test.golden_py3 new file mode 100644 index 000000000..f1c5b4fc3 --- /dev/null +++ b/v3/tests/backend-tests/tuple_test.golden_py3 @@ -0,0 +1,72 @@ +{ + "code": "x = (1, 2, 3)\ny = (4,)\n\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2, + 3 + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": [ + "REF", + 2 + ], + "x": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "TUPLE", + 1, + 2, + 3 + ], + "2": [ + "TUPLE", + 4 + ] + }, + "line": 2, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/tuple_test.txt b/v3/tests/backend-tests/tuple_test.txt new file mode 100644 index 000000000..de68176ca --- /dev/null +++ b/v3/tests/backend-tests/tuple_test.txt @@ -0,0 +1,3 @@ +x = (1, 2, 3) +y = (4,) + diff --git a/v3/tests/backend-tests/two_funcs.golden b/v3/tests/backend-tests/two_funcs.golden new file mode 100644 index 000000000..9a2a15184 --- /dev/null +++ b/v3/tests/backend-tests/two_funcs.golden @@ -0,0 +1,1453 @@ +{ + "code": "def add(a, b, c):\n d = a + b\n return c + d\n\ndef double_add(a, b, c):\n x = add(a, b, c)\n y = add(a, b, c)\n return x + y\n\nx = 5\ny = 10\nz = x * y\nprint(add(x, y, z))\nprint(double_add(x, y, z))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "add" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "add": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "add": [ + "REF", + 1 + ], + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": 5, + "add": [ + "REF", + 1 + ], + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c", + "d" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "__return__": 65, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c", + "d", + "__return__" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "double_add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "double_add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f3", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f3", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f3", + "ordered_varnames": [ + "a", + "b", + "c", + "d" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "a": 5, + "__return__": 65, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f3", + "ordered_varnames": [ + "a", + "b", + "c", + "d", + "__return__" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "double_add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "x": 65, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "x": 65, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f4", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "x": 65, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f4", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "x": 65, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f4", + "ordered_varnames": [ + "a", + "b", + "c", + "d" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "x": 65, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "a": 5, + "__return__": 65, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f4", + "ordered_varnames": [ + "a", + "b", + "c", + "d", + "__return__" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "double_add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "x": 65, + "c": 50, + "b": 10, + "y": 65 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x", + "y" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "double_add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10, + "__return__": 130, + "y": 65, + "x": 65 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x", + "y", + "__return__" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n130\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 14, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/two_funcs.golden_py3 b/v3/tests/backend-tests/two_funcs.golden_py3 new file mode 100644 index 000000000..9a2a15184 --- /dev/null +++ b/v3/tests/backend-tests/two_funcs.golden_py3 @@ -0,0 +1,1453 @@ +{ + "code": "def add(a, b, c):\n d = a + b\n return c + d\n\ndef double_add(a, b, c):\n x = add(a, b, c)\n y = add(a, b, c)\n return x + y\n\nx = 5\ny = 10\nz = x * y\nprint(add(x, y, z))\nprint(double_add(x, y, z))\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "add" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "add": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ] + }, + "line": 5, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "add": [ + "REF", + 1 + ], + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 10, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "x": 5, + "add": [ + "REF", + 1 + ], + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 11, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 12, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 13, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c", + "d" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "a": 5, + "__return__": 65, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f1", + "ordered_varnames": [ + "a", + "b", + "c", + "d", + "__return__" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 14, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "double_add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 5, + "event": "call" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "double_add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 6, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f3", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f3", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f3", + "ordered_varnames": [ + "a", + "b", + "c", + "d" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c" + ] + }, + { + "frame_id": 3, + "encoded_locals": { + "a": 5, + "__return__": 65, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f3", + "ordered_varnames": [ + "a", + "b", + "c", + "d", + "__return__" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "double_add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "x": 65, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 7, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "x": 65, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f4", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "x": 65, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f4", + "ordered_varnames": [ + "a", + "b", + "c" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "x": 65, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f4", + "ordered_varnames": [ + "a", + "b", + "c", + "d" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 3, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "x": 65, + "c": 50, + "b": 10 + }, + "is_highlighted": false, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x" + ] + }, + { + "frame_id": 4, + "encoded_locals": { + "a": 5, + "__return__": 65, + "c": 50, + "b": 10, + "d": 15 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "add_f4", + "ordered_varnames": [ + "a", + "b", + "c", + "d", + "__return__" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 3, + "event": "return" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "double_add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "x": 65, + "c": 50, + "b": 10, + "y": 65 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x", + "y" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 8, + "event": "step_line" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n", + "func_name": "double_add", + "stack_to_render": [ + { + "frame_id": 2, + "encoded_locals": { + "a": 5, + "c": 50, + "b": 10, + "__return__": 130, + "y": 65, + "x": 65 + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "double_add", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "double_add_f2", + "ordered_varnames": [ + "a", + "b", + "c", + "x", + "y", + "__return__" + ] + } + ], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 8, + "event": "return" + }, + { + "ordered_globals": [ + "add", + "double_add", + "x", + "y", + "z" + ], + "stdout": "65\n130\n", + "func_name": "", + "stack_to_render": [], + "globals": { + "y": 10, + "x": 5, + "add": [ + "REF", + 1 + ], + "z": 50, + "double_add": [ + "REF", + 2 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "add(a, b, c)", + null + ], + "2": [ + "FUNCTION", + "double_add(a, b, c)", + null + ] + }, + "line": 14, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/two_funcs.txt b/v3/tests/backend-tests/two_funcs.txt new file mode 100644 index 000000000..32959fbd6 --- /dev/null +++ b/v3/tests/backend-tests/two_funcs.txt @@ -0,0 +1,14 @@ +def add(a, b, c): + d = a + b + return c + d + +def double_add(a, b, c): + x = add(a, b, c) + y = add(a, b, c) + return x + y + +x = 5 +y = 10 +z = x * y +print(add(x, y, z)) +print(double_add(x, y, z)) diff --git a/v3/tests/backend-tests/varargs.golden b/v3/tests/backend-tests/varargs.golden new file mode 100644 index 000000000..64cd90d22 --- /dev/null +++ b/v3/tests/backend-tests/varargs.golden @@ -0,0 +1,267 @@ +{ + "code": "def parrot(mandatory, mandatory2, *args, **kwargs):\n pass\n\nparrot('a', 'b', 'c', 'd', 'e', name='Philip', age='35')\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "parrot" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "parrot": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "parrot(mandatory, mandatory2, *args, **kwargs)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "parrot" + ], + "stdout": "", + "func_name": "parrot", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "args": [ + "REF", + 3 + ], + "mandatory": "a", + "mandatory2": "b", + "kwargs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "parrot", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "parrot_f1", + "ordered_varnames": [ + "mandatory", + "mandatory2", + "args", + "kwargs" + ] + } + ], + "globals": { + "parrot": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "parrot(mandatory, mandatory2, *args, **kwargs)", + null + ], + "2": [ + "DICT", + [ + "age", + "35" + ], + [ + "name", + "Philip" + ] + ], + "3": [ + "TUPLE", + "c", + "d", + "e" + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "parrot" + ], + "stdout": "", + "func_name": "parrot", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "args": [ + "REF", + 3 + ], + "mandatory": "a", + "mandatory2": "b", + "kwargs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "parrot", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "parrot_f1", + "ordered_varnames": [ + "mandatory", + "mandatory2", + "args", + "kwargs" + ] + } + ], + "globals": { + "parrot": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "parrot(mandatory, mandatory2, *args, **kwargs)", + null + ], + "2": [ + "DICT", + [ + "age", + "35" + ], + [ + "name", + "Philip" + ] + ], + "3": [ + "TUPLE", + "c", + "d", + "e" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "parrot" + ], + "stdout": "", + "func_name": "parrot", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "args": [ + "REF", + 3 + ], + "mandatory": "a", + "mandatory2": "b", + "kwargs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "parrot", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "parrot_f1", + "ordered_varnames": [ + "mandatory", + "mandatory2", + "args", + "kwargs", + "__return__" + ] + } + ], + "globals": { + "parrot": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "parrot(mandatory, mandatory2, *args, **kwargs)", + null + ], + "2": [ + "DICT", + [ + "age", + "35" + ], + [ + "name", + "Philip" + ] + ], + "3": [ + "TUPLE", + "c", + "d", + "e" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "parrot" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "parrot": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "parrot(mandatory, mandatory2, *args, **kwargs)", + null + ] + }, + "line": 4, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/varargs.golden_py3 b/v3/tests/backend-tests/varargs.golden_py3 new file mode 100644 index 000000000..64cd90d22 --- /dev/null +++ b/v3/tests/backend-tests/varargs.golden_py3 @@ -0,0 +1,267 @@ +{ + "code": "def parrot(mandatory, mandatory2, *args, **kwargs):\n pass\n\nparrot('a', 'b', 'c', 'd', 'e', name='Philip', age='35')\n", + "trace": [ + { + "ordered_globals": [], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": {}, + "heap": {}, + "line": 1, + "event": "step_line" + }, + { + "ordered_globals": [ + "parrot" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "parrot": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "parrot(mandatory, mandatory2, *args, **kwargs)", + null + ] + }, + "line": 4, + "event": "step_line" + }, + { + "ordered_globals": [ + "parrot" + ], + "stdout": "", + "func_name": "parrot", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "args": [ + "REF", + 3 + ], + "mandatory": "a", + "mandatory2": "b", + "kwargs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "parrot", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "parrot_f1", + "ordered_varnames": [ + "mandatory", + "mandatory2", + "args", + "kwargs" + ] + } + ], + "globals": { + "parrot": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "parrot(mandatory, mandatory2, *args, **kwargs)", + null + ], + "2": [ + "DICT", + [ + "age", + "35" + ], + [ + "name", + "Philip" + ] + ], + "3": [ + "TUPLE", + "c", + "d", + "e" + ] + }, + "line": 1, + "event": "call" + }, + { + "ordered_globals": [ + "parrot" + ], + "stdout": "", + "func_name": "parrot", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "args": [ + "REF", + 3 + ], + "mandatory": "a", + "mandatory2": "b", + "kwargs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "parrot", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "parrot_f1", + "ordered_varnames": [ + "mandatory", + "mandatory2", + "args", + "kwargs" + ] + } + ], + "globals": { + "parrot": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "parrot(mandatory, mandatory2, *args, **kwargs)", + null + ], + "2": [ + "DICT", + [ + "age", + "35" + ], + [ + "name", + "Philip" + ] + ], + "3": [ + "TUPLE", + "c", + "d", + "e" + ] + }, + "line": 2, + "event": "step_line" + }, + { + "ordered_globals": [ + "parrot" + ], + "stdout": "", + "func_name": "parrot", + "stack_to_render": [ + { + "frame_id": 1, + "encoded_locals": { + "__return__": null, + "args": [ + "REF", + 3 + ], + "mandatory": "a", + "mandatory2": "b", + "kwargs": [ + "REF", + 2 + ] + }, + "is_highlighted": true, + "is_parent": false, + "func_name": "parrot", + "is_zombie": false, + "parent_frame_id_list": [], + "unique_hash": "parrot_f1", + "ordered_varnames": [ + "mandatory", + "mandatory2", + "args", + "kwargs", + "__return__" + ] + } + ], + "globals": { + "parrot": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "parrot(mandatory, mandatory2, *args, **kwargs)", + null + ], + "2": [ + "DICT", + [ + "age", + "35" + ], + [ + "name", + "Philip" + ] + ], + "3": [ + "TUPLE", + "c", + "d", + "e" + ] + }, + "line": 2, + "event": "return" + }, + { + "ordered_globals": [ + "parrot" + ], + "stdout": "", + "func_name": "", + "stack_to_render": [], + "globals": { + "parrot": [ + "REF", + 1 + ] + }, + "heap": { + "1": [ + "FUNCTION", + "parrot(mandatory, mandatory2, *args, **kwargs)", + null + ] + }, + "line": 4, + "event": "return" + } + ] +} diff --git a/v3/tests/backend-tests/varargs.txt b/v3/tests/backend-tests/varargs.txt new file mode 100644 index 000000000..6e26086ea --- /dev/null +++ b/v3/tests/backend-tests/varargs.txt @@ -0,0 +1,4 @@ +def parrot(mandatory, mandatory2, *args, **kwargs): + pass + +parrot('a', 'b', 'c', 'd', 'e', name='Philip', age='35') diff --git a/v3/tests/diff_py23_golden_files.py b/v3/tests/diff_py23_golden_files.py new file mode 100644 index 000000000..904cb6d04 --- /dev/null +++ b/v3/tests/diff_py23_golden_files.py @@ -0,0 +1,7 @@ +import os, itertools, subprocess + +for (dn, sd, files) in itertools.chain(os.walk('backend-tests/'), os.walk('../example-code/')): + for f in files: + bn, ext = os.path.splitext(f) + if ext == '.golden': + subprocess.call(['diff', '-u', os.path.join(dn, bn + ext), os.path.join(dn, bn + '.golden_py3')]) diff --git a/v3/tests/example-code b/v3/tests/example-code new file mode 120000 index 000000000..153b6e23a --- /dev/null +++ b/v3/tests/example-code @@ -0,0 +1 @@ +../example-code \ No newline at end of file diff --git a/v3/tests/golden_test.py b/v3/tests/golden_test.py new file mode 100644 index 000000000..f2d54b8e9 --- /dev/null +++ b/v3/tests/golden_test.py @@ -0,0 +1,183 @@ +''' +A simple framework for regression testing based on golden files +by Philip Guo + +(sloppily) customized for the Online Python Tutor project +''' + +import os, re, shutil, optparse, difflib +from subprocess import * + + +def filter_output(s): + return s + + +def execute(input_filename): + assert os.path.isfile(input_filename) + (base, ext) = os.path.splitext(input_filename) + assert ext == INPUT_FILE_EXTENSION + + (stdout, stderr) = Popen(PROGRAM + [input_filename], stdout=PIPE, stderr=PIPE).communicate() + + if stderr: + print '(has stderr)' + # print ' stderr {' + # print stderr, '}' + else: + print + + # capture stdout into outfile, filtering out machine-specific addresses + outfile = base + OUTPUT_FILE_EXTENSION + outf = open(outfile, 'w') + + for line in stdout.splitlines(): + filtered_line = re.sub(' 0x.+?>', ' 0xADDR>', line) + print >> outf, filtered_line + + outf.close() + + +def clobber_golden_file(golden_file): + (base, ext) = os.path.splitext(golden_file) + outfile = base + OUTPUT_FILE_EXTENSION + assert os.path.isfile(outfile) + print ' Clobber %s => %s' % (outfile, golden_file) + shutil.copy(outfile, golden_file) + + +# returns True if there is a diff, False otherwise +def golden_differs_from_out(golden_file): + (base, ext) = os.path.splitext(golden_file) + outfile = base + OUTPUT_FILE_EXTENSION + assert os.path.isfile(outfile) + assert os.path.isfile(golden_file) + + golden_s = open(golden_file).readlines() + out_s = open(outfile).readlines() + + golden_s_filtered = filter_output(golden_s) + out_s_filtered = filter_output(out_s) + + return out_s_filtered != golden_s_filtered + + +def diff_test_output(test_name): + (base, ext) = os.path.splitext(test_name) + + golden_file = base + GOLDEN_FILE_EXTENSION + assert os.path.isfile(golden_file) + outfile = base + OUTPUT_FILE_EXTENSION + assert os.path.isfile(outfile) + + golden_s = open(golden_file).readlines() + out_s = open(outfile).readlines() + + golden_s_filtered = filter_output(golden_s) + out_s_filtered = filter_output(out_s) + + first_line = True + for line in difflib.unified_diff(golden_s_filtered, out_s_filtered, \ + fromfile=golden_file, tofile=outfile): + if first_line: + print # print an extra line to ease readability + first_line = False + print line, + + +def run_test(input_filename, clobber_golden=False): + print 'Testing', input_filename, + + (base, ext) = os.path.splitext(input_filename) + assert ext == INPUT_FILE_EXTENSION + + # to eliminate possibility of using stale output: + outfile = base + OUTPUT_FILE_EXTENSION + if os.path.isfile(outfile): + os.remove(outfile) + + input_fullpath = input_filename + execute(input_fullpath) + + golden_file = base + GOLDEN_FILE_EXTENSION + if os.path.isfile(golden_file): + if golden_differs_from_out(golden_file): + print " FAILED!!!" + if clobber_golden: + clobber_golden_file(golden_file) + else: + clobber_golden_file(golden_file) + + +def run_all_tests(clobber=False): + for t in ALL_TESTS: + run_test(t, clobber) + +def diff_all_test_outputs(): + for t in ALL_TESTS: + diff_test_output(t) + + +if __name__ == "__main__": + parser = optparse.OptionParser() + parser.add_option("--all", action="store_true", dest="run_all", + help="Run all tests") + parser.add_option("--only-clobber", action="store_true", dest="only_clobber", + help="Clobber ALL golden files WITHOUT re-running tests") + parser.add_option("--clobber", action="store_true", dest="clobber", + help="Clobber golden files when running tests") + parser.add_option("--test", dest="test_name", + help="Run one test") + parser.add_option("--difftest", dest="diff_test_name", + help="Diff against golden file for one test") + parser.add_option("--diffall", action="store_true", dest="diff_all", + help="Diff against golden file for all tests") + parser.add_option("--py3", action="store_true", dest="py3", + help="Run tests using Python 3.2 (rather than Python 2.7)") + (options, args) = parser.parse_args() + + + INPUT_FILE_EXTENSION = '.txt' # input test files are .txt, NOT .py + + if options.py3: + PROGRAM = ['python3.2', '../generate_json_trace.py'] + OUTPUT_FILE_EXTENSION = '.out_py3' + GOLDEN_FILE_EXTENSION = '.golden_py3' + else: + PROGRAM = ['python2.7', '../generate_json_trace.py'] + OUTPUT_FILE_EXTENSION = '.out' + GOLDEN_FILE_EXTENSION = '.golden' + + ALL_TESTS = [] + + for (pwd, subdirs, files) in os.walk('.', followlinks=True): # need to follow example-code symlink + for f in files: + (base, ext) = os.path.splitext(f) + if ext == INPUT_FILE_EXTENSION: + fullpath = os.path.join(pwd, f) + ALL_TESTS.append(fullpath) + + + if options.run_all: + if options.clobber: + print 'Running all tests and clobbering results ...' + else: + print 'Running all tests ...' + run_all_tests(options.clobber) + + elif options.diff_all: + diff_all_test_outputs() + elif options.diff_test_name: + assert options.diff_test_name in ALL_TESTS + diff_test_output(options.diff_test_name) + elif options.test_name: + assert options.test_name in ALL_TESTS + run_test(options.test_name, options.clobber) + elif options.only_clobber: + for t in ALL_TESTS: + (base, ext) = os.path.splitext(t) + golden_file = base + GOLDEN_FILE_EXTENSION + clobber_golden_file(golden_file) + else: + parser.print_help() + diff --git a/v3/tests/run-all-tests.sh b/v3/tests/run-all-tests.sh new file mode 100755 index 000000000..40b4e7577 --- /dev/null +++ b/v3/tests/run-all-tests.sh @@ -0,0 +1,8 @@ +#!/bin/sh +echo 'Python 2.7 test' +echo '===============' +python golden_test.py --all +echo +echo 'Python 3.2 test' +echo '===============' +python golden_test.py --all --py3 diff --git a/v3/visualize.html b/v3/visualize.html new file mode 100644 index 000000000..8ad886874 --- /dev/null +++ b/v3/visualize.html @@ -0,0 +1,227 @@ + + + + + + + Online Python Tutor - Visualize program execution + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +Write your Python code here: +
+ +
+ +

+Execute code using + +and + +

+ +

+ +

+ + +

Basic Examples:
+ +hello | +happy | +intro | +filter | +tokenize | +insertion sort | +list comprehension +

+ +

Math-Related Fun:
+factorial | +fibonacci | +memoized fibonacci | +square root | +gcd | +towers of hanoi +

+ +

Higher-Order Functions:
+ +closure 1 | +closure 2 | +closure 3 | +closure 4 | +closure 5 +
+ +list map | +summation | +lambda param | +student torture + +

+ +

Object-Oriented Programming
+ +OOP 1 | +OOP 2 | +OOP 3 | +inheritance + +

+ +

Linked Lists:
+LL 1 | +LL 2 | +LL sum +

+ +

Pointer Aliasing:
+aliasing 1 | +aliasing 2 | +aliasing 3 | +aliasing 4 +
+aliasing 5 | +aliasing 6 | +aliasing 7 | +aliasing 8 | +sumList +

+ +

More Python Tricks:
+decorators | +generators | +gen expr | +varargs | +exceptions | +for-else | +nonlocal +

+ +
+ + +
+
+ + + + + + diff --git a/v3/web_exec.py b/v3/web_exec.py new file mode 100644 index 000000000..229cb841b --- /dev/null +++ b/v3/web_exec.py @@ -0,0 +1,76 @@ +# + +# Minimal CGI script for Online Python Tutor (v3), tested under Python 2 and 3 + +# If you want to run this script, then you'll need to change the +# shebang #! line at the top of this file to point to your system's Python. +# +# Also, check CGI execute permission in your script directory. +# You might need to create an .htaccess file like the following: +# +# Options +ExecCGI +# AddHandler cgi-script .py + + +import cgi +import json +import pg_logger +import sys + + +# set to true if you want to log queries in DB_FILE +LOG_QUERIES = False + +if LOG_QUERIES: + import os, datetime, create_log_db, sqlite3 + + +def cgi_finalizer(input_code, output_trace): + """Write JSON output for js/pytutor.js as a CGI result.""" + ret = dict(code=input_code, trace=output_trace) + json_output = json.dumps(ret, indent=None) # use indent=None for most compact repr + + if LOG_QUERIES: + # just to be paranoid, don't croak the whole program just + # because there's some error in logging it to the database + try: + # log queries into sqlite database. + # make sure that your web server's account has write permissions + # in the current directory, for logging to work properly + con = sqlite3.connect(create_log_db.DB_FILE) + cur = con.cursor() + + cur.execute("INSERT INTO query_log VALUES (NULL, ?, ?, ?, ?, ?, ?)", + (datetime.datetime.now(), + os.environ.get("REMOTE_ADDR", "N/A"), + os.environ.get("HTTP_USER_AGENT", "N/A"), + os.environ.get("HTTP_REFERER", "N/A"), + user_script, + int(cumulative_mode))) + con.commit() + cur.close() + except Exception as err: + # this is bad form, but silently fail on error ... + print(err) + + print("Content-type: text/plain; charset=iso-8859-1\n") + print(json_output) + + +cumulative_mode = False + +# If you pass in a filename as an argument, then process script from that file ... +if len(sys.argv) > 1: + user_script = open(sys.argv[1]).read() + +# Otherwise act like a CGI script with parameters: +# user_script +# cumulative_mode +else: + form = cgi.FieldStorage() + user_script = form['user_script'].value + if 'cumulative_mode' in form: + # convert from string to a Python boolean ... + cumulative_mode = (form['cumulative_mode'].value == 'true') + +pg_logger.exec_script_str(user_script, cumulative_mode, cgi_finalizer)